异常

python使用被称为异常的特殊对象来管理程序执行期间发生的错误。

异常例子:

  1.NameError:变量未定义

  2.ZeroDivisionError:除数为零

  3.SyntaxError:python解释器语法错误,发生在程序运行前

  4.IndexError:索引超出序列范围

  5.KeyError:字典关键字不存在

  6.FileNotFoundError:文件不存在

  7.AttributeError:对象没有对应属性

异常处理语句:

  try-except

  带有多个except的try语句

  处理多个异常的except语句

  捕获所有异常,except后加 Exception,或空(不建议)

  try-except-else-finally

  try-finally

当异常发生时,有两种结果:

  a)使用 try-except 代码块提前编写了处理异常的代码,程序将继续执行

  b)未对异常进行处理,程序将停止,并显示一个traceback,其中含异常报告

例:用 try-except 处理 ZeroDivisionError 异常:

1 try:
2     print(5/0)
3 except ZeroDivisionError:
4     print('You can not divide by zero!')

You can not divide by zero!

在 3 行 except 后若预先知道将发生何种错误,可写上异常,否则不写即可。只有当执行 try 代码块发生错误时才执行 except 后代码,若 try-except 后还有其它代码则程序继续执行。

还有一种 try-except-else 代码块,try 语句放入可能引发异常的代码,except 语句放入发生异常后需要执行的动作的代码,有时仅在try语句成功执行后才运行的代码,这些代码放入else语句中。

上下文管理:with语句

触发异常:raise语句

  raise ErrorName ()

断言:assert语句

  assert  expression1 [,expression2]    expression2可选,当expression1为False时执行expression2

通过类自定义异常:继承字Exception类,通过raise人工触发

渐变 --> 突变
原文地址:https://www.cnblogs.com/lybpy/p/7784865.html