Python2错误和异常处理详解
在编写代码的过程中错误是语法或是逻辑上的,语法错误 指示软件的结构上有错误,导致不能被解释器编译,必须在程序执行前纠正,逻辑错误是由于不完整或不合法的输入所致输出结果无法执行,下面就来详细介绍都有哪些错误和异常同大家一同分享。
方法/步骤
-
当python检测到一个错误 时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常。python中的异常
-
检测和处理异常
图一, try-except语句:定义了进行异常监控的一段代码,并且提供了处理异常的机制
图二, 带有多个except的try语句, 可以把多个except语句连接到一起,处理一个try块中可能发生的多种异常
-
捕获所有异常
《1》 如果出现的异常没有出现在指定要捕获的异常列表中,程序仍然会中断,可以使用
《2》 在异常继承的结构中,BaseException是在最顶层的,所以使用它可以捕获任意类型的异常
《3》 异常也可以有参数, 异常引发后它会被传递给异常处理器
《4》 当异常被引发后参数是作为附加帮助信息传递给异常处理器的。
-
else子句
《1》 在try范围中没有异常被检测到时, 执行else子句
《2》 在else范围中的任何代码运行前, try范围中的怕有代码必须完全成功
-
finally子句
《1》 finally子句是无论异常是否发生,是否捕捉都会执行的一段代码
《2》 如果打开文件后, 因为发生异常导致文件没有关闭,可能会发生数据损坏,使用finally可以保证文件总是能正常关闭。
-
with子句
《1》 with语句是用来简化代码的。
《2》 在将打开文件的操作放在with语句中, 代码块结束后,文件将自动关闭
-
触发异常 raise语句
《1》 要想引发异常,最简单的形式就是输入关键字raise,后面跟要引发的异常的名称
《2》 执行raise语句时, Python会创建指定的异常类的一个对象
《3》 raise语句还可指定对异常对象时行初始化的参数
-
触发异常 断言
《1》 断言是一句必须等价于布尔值为真的判定
《2》 此外,发生异常也意味着表达式为假