Python 是面向对象的语言,所以程序抛出的异常也是类。
常见的异常类 1.NameError:尝试访问一个没有申明的变量 2.ZeroDivisionError:除数为 0 3.SyntaxError:语法错误 4.IndexError:索引超出序列范围 5.KeyError:请求一个不存在的字典关键字 6.IOError:输入输出错误(比如你要读的文件不存在) 7.AttributeError:尝试访问未知的对象属性 8.TypeError:传给函数的参数类型不正确,比如给 int 函数传入字符型 自定义异常类 尽管内建的异常类已经包括大部分情况,但如果需要创建自己的异常类,可以采用下面的方法: class CustomException(Exception): # Exception 为所有异常的基类 # 处理异常的代码 try: # 需要进行捕获异常的代码,只有出现异常之前的代码被最终执行 except (Exception1,Exception2,…) as argument: # 捕获到 (Exception1,Exception2,…) 里的异常才执行本段代码 # argument 是一个异常类的实例,包含异常的具体信息 except: # 捕获到 (Exception1,Exception2,…) 以外的异常执行本段代码,用 sys 模块的 exc_info() 函数可以获取异常信息 else: # 如果没有捕获到异常则执行本段代码 finally: # 无论是否捕获到异常都执行本段代码 上述语句并不都是必须的,譬如 try…except…、try…finally… 或者 try…except…else… 语句都是可行的。我们还可以用 try…except…else… 代替 if…else…。 抛出异常 如果我们想要在自己编写的程序中主动抛出异常,可以采用如下两种方法: raise Exception(reason) Exception 必须是一个异常类的名称。可选项 reason 用来传递异常的信息。 assert expression[,reason] assert 是断言的关键字。当表达式 expression 为真则什么都不做,否则抛出 AssertionError 异常。reason 提供异常的信息。
2020-11-29
最新推荐文章于 2022-06-15 15:51:37 发布