zoukankan      html  css  js  c++  java
  • 异常处理

    1. 什么是异常?

    异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。

    一般情况下,在Python无法正常处理程序时就会发生一个异常。

    异常是Python对象,表示一个错误。

    当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

    异常处理:

    捕捉异常可以使用try/except语句。

    try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。

    如果你不想在异常发生时结束你的程序,只需在try里捕获它。

    2.try except finally

    语法格式:

    try:

    正常的操作

    ......................

    except:

    发生异常,执行这块代码

    ......................

    else:

    如果没有异常执行这块代码

    实例1:

    try:

    print(a) # 没有a这个变量

    except:

    print('错误!!')

    else:

    print('一切正常!!')

    运行结果如下:

    错误!!

    try:

    print(a) # 没有a这个变量

    except:

    print('错误!!')

    finally:

    print('不管异常与否,都要给我打印!')

    运行结果如下:

    错误!!

    不管异常与否,都要给我打印!

    3.捕获详细异常

    实例1:

    try:

    print(a)

    except NameError as e:

    print(e)

    except TypeError as e:

    print(e)

    输出结果如下:

    name 'a' is not defined

    实例2:

    try:

    num = '1' - 5

    print(a)

    except NameError as e:

    print(e)

    except TypeError as e:

    print(e)

    运行结果如下:

    unsupported operand type(s) for -: 'str' and 'int'

    4.用户自定义异常:

    通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。

    以下为与RuntimeError相关的实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多的信息。

    在try语句块中,用户自定义的异常后执行except块语句,变量 e 是用于创建Networkerror类的实例。

    实例:

    class MyError(Exception): # 必须要继承于Exception

    def __init__(self,age):

    self.age=age

    def ag():

    age=int(input('输入年龄:'))

    if age<=0 or age>100:

    raise MyError('年龄只能在0到100岁之间')

    try:

    ag()

    except MyError as e:

    print(e)

    输出结果如下:

    输入年龄:200

    年龄只能在0到100岁之间

  • 相关阅读:
    Redis集群~StackExchange.redis连接Twemproxy代理服务器
    开源的Android视频播放器
    Servlet 实现文件的上传与下载
    HDU1878 欧拉回路
    C#根据域名查询IP(CMD命令参数输入或者启动程序后再输入查询)
    Windows API获取系统配置文件的配置参数
    Lucene核心--构建Lucene搜索(下篇,理论篇)
    Lucene核心--构建Lucene搜索(上篇,理论篇)
    hdu1397(素数组和成偶数的个数 用 标记法)
    hdu1248
  • 原文地址:https://www.cnblogs.com/liangzb310/p/11027029.html
Copyright © 2011-2022 走看看