Python异常处理知识点汇总,五分钟就能学会

什么是异常?
1.错误
在软件方面,错误是语法或逻辑上的。错误是语法或逻辑上的。
语法错误表明软件的结构错误,导致解释器无法解释或编译器无法编译。在程序执行之前,必须纠正这些错误。
当程序的语法正确时,剩下的就是逻辑错误。逻辑错误可能是由于输入不完整或非法造成的;
在其他情况下,逻辑生成、计算或输出结果所需的过程也可能无法执行。这些错误通常被称为域错误和范围错误。
当python检测到错误时,python解释器会指出当前流量无法继续执行。此时出现异常。
2.异常
对异常的最佳描述是:它是由于程序错误而在正常控制流之外采取的行为。
这种行为分为两个阶段:一是引起异常错误,二是检测阶段(并采取可能措施)。
第一阶段发生在一个异常条件(有时也称为例外条件)之后。
只要检测到错误并意识到异常条件,解释器就会出现异常。触发也可以称为触发、抛出或生成。解释器通过它通知当前控制流出现错误。
python还允许程序员自己引起异常。无论是python解释器还是程序员引起的,异常都是错误的信号。
目前的流程将被打断,用于处理错误并采取相应的操作。这是第二阶段。
异常处理发生在第二阶段,异常引起后,可调用许多不同的操作。
可以忽略错误(记录错误但不采取任何措施,采取补救措施后终止程序。)或者试图在减少问题的影响后继续执行程序。
所有这些操作都代表一个持续或控制的分支。关键是程序员可以指示如何执行错误。
python使用异常对象(exception object)表示异常。遇到错误后,会引起异常。
如果不处理或捕获异常对象,程序将使用所谓的可追溯性(traceback)终止执行
异常处理
try/except语句可用于捕捉异常。
try/except语句用于检测try语句块中的错误,使except语句捕获异常信息并处理。
如果你不想在异常情况下结束你的程序,只需要在try中捕获它。
语法:
以下是简单的try...except...else语法:

Try的工作原理是,当一个try句子开始时,python会在当前程序的上下文中标记,这样当异常出现时,它就可以回到这里。try句首先执行,然后依赖于执行是否异常。
如果try后的句子在执行过程中出现异常,python将跳回try并执行第一个与异常相匹配的except句子。异常处理后,控制流通过整个try句子(除非在处理异常时出现新的异常)。
如果try后的句子中出现异常,但没有匹配的except句子,异常将提交给上层try或程序的上层(这将结束程序并打印缺失的错误信息)。
如果try子句执行时没有异常,python将执行else语句后的语句(如果有else)控制整个try语句的流通。
使用except而不使用任何异常类型
except不能使用任何异常类型,如下例子:

try-except语句捕获上述所有异常。但这不是一个很好的方法,我们不能通过这个程序识别特定的异常信息。因为它捕获了所有的异常。
