python中异常处理的两种方式,python针对异常的处理方式
什么是异常?
1.错误
就软件而言,错误是语法上的或逻辑上的。它是合乎语法或逻辑的。
语法错误表示软件的结构存在错误,解释器无法解释,编译器也无法编译。这些错误必须在程序执行前纠正。
当程序的语法正确的时候,剩下的就是逻辑错误了。逻辑错误可能是由不完整或非法输入引起的;
在其他情况下,逻辑无法生成,计算无法完成,或者输出结果所需的过程无法执行。这些错误通常分别被称为域错误和范围错误。
当python检测到错误时,python解释器会指出当前流不能再执行了。这时,出现了异常。
2.异常
对异常的最好描述是,它是由于程序中的错误而在正常控制流之外采取的操作。
这种行为分为两个阶段:第一个是导致异常的错误,然后是检测(和可能的措施)阶段。
第一阶段发生在异常情况(有时称为异常情况)发生之后。
只要检测到错误并实现了异常条件,解释器就会发生异常。触发也可称为触发、抛出或生成。解释器通过它通知当前控制流发生了错误。
Python也允许程序员自己抛出异常。无论是python解释器还是程序员造成的,异常都是错误的信号。
当前流将被中断,以处理此错误并采取相应的操作。这是第二阶段。
异常处理发生在第二阶段。引发异常后,可以调用许多不同的操作。
您可以忽略错误(记录错误而不采取任何措施,并在采取补救措施后终止程序。)或在减轻问题的影响后尝试继续该计划。
所有这些操作都是控制的延续或分支。关键是程序员可以在出现错误时指示程序如何执行。
Python异常对象用于表示异常。遇到错误时,会引发异常。
如果没有处理或捕获异常对象,程序将通过所谓的回溯来终止执行。
异常处理
您可以使用try/except语句来捕捉异常。
try/except语句用于检测try语句块中的错误,以便except语句可以捕获异常信息并对其进行处理。
如果你不想在异常发生时结束你的程序,只需在try中捕捉它。
语法:
下面的语法很简单try try.除.之外.否则:
try的工作原理是,当一个Try语句启动时,python会在当前程序的上下文中对其进行标记,这样当出现异常时,它就可以回到这里。首先执行try子句,接下来会发生什么取决于执行过程中是否出现异常。
如果在执行try之后的语句时出现异常,python会跳回到try并执行第一个与异常匹配的except子句。处理异常时,控制流会通过整个try语句(除非在处理异常时引发了新的异常)。
如果在try之后的语句中出现异常,但是没有匹配的except子句,那么该异常将被提交到上一级try或程序的顶部(这将结束程序并打印默认的错误信息)。
如果执行try子句时没有出现异常,python将在else语句之后执行该语句(如果有else的话),然后通过整个try语句控制流程。
使用不带任何异常类型的except。
您可以在没有任何异常类型的情况下使用except,如下例所示:
上面提到的try-except语句捕获所有发生的异常。但这并不是一个好办法,我们也无法通过这个程序识别出具体的异常信息。因为它捕捉所有异常。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。