Python异常处理:基础与技巧全解析
Python异常处理知识点汇总,五分钟就能学会
什么是异常?
1.错误
从软件的角度来看,错误是语法错误或逻辑错误。
错误出在语法或逻辑上。
语法错误表示软件中存在解释器无法解释或编译器无法编译的结构错误。
这些错误必须在程序执行之前纠正。
当程序语法正确时,其余都是逻辑错误。
逻辑错误可能是由于输入不完整或无效造成的;
在其他情况下,可能无法创建、计算逻辑或无法执行输出结果所需的例程。
这些误差通常分别称为域误差和范围误差。
当Python检测到错误时,Python解释器表明当前线程无法继续执行。
这时出现了异常。
2.异常
对异常的最好描述是:它是由于程序中出现错误而在正常控制流程之外执行的操作。
这种行为分为两个阶段:首先是导致异常的错误,然后是检测阶段(以及可以采取的措施)。
第一阶段发生在异常情况(有时称为异常情况)发生后。
每当检测到错误并识别出异常情况时,解释器就会抛出异常。
启动也可以称为触发、抛出或创建。
解释器使用它来通知当前控制流发生了错误。
Python还允许程序员抛出自己的异常。
无论是由Python解释器还是程序员引起的,异常都是发生错误的信号。
当前线程将被中断以处理此错误并采取适当的操作。
这是第二阶段。
异常处理发生在第二阶段。
抛出异常后,可以调用各种操作。
这可以通过忽略错误(记录错误但不采取任何操作,采取纠正措施,然后终止程序。
)或通过最小化崩溃行为的影响并尝试恢复执行来完成。
所有这些活动都代表控制的延续或分支。
程序员能够指示程序在发生错误时做什么非常重要。
Python使用异常对象来表示异常。
当遇到错误时,会抛出异常。
如果异常对象未被处理或捕获,程序将使用所谓的回溯终止执行。
异常处理
要捕获异常,您可以使用try/except语句。
try/except语句用于检测try语句块中的错误,因此except语句可以捕获异常信息并进行处理。
如果您不想在发生异常时结束程序,请尝试捕获它。
语法:
以下是try...except...else的简单语法:
Try的工作原理是在a的开头try语句之后,Python会标记当前程序的上下文,以便在发生异常时可以返回此处。
try子句先被执行,接下来发生什么取决于执行过程中是否发生异常。
如果执行after-try语句时发生异常,python将返回try并执行第一个与该异常匹配的except子句。
一旦处理了异常,控制流程就完成了。
try语句(除非在处理该异常时抛出新的异常)。
如果在尝试之后的语句中发生异常,但没有匹配的except子句,那么该异常将被发送到更高的尝试或程序的顶层(这将结束程序并打印省级错误消息)。
如果执行try子句时没有发生异常,python会执行else语句后面的语句(如果有else语句),然后控制流就会传递整个try语句。
使用except而不带任何异常类型
可以使用except而不带任何异常类型,如下例所示:
上面的tryexcept语句总结了所有异常发生。
但这并不是一个好办法,我们无法通过这个程序来识别具体的异常信息。
因为它捕获了所有异常。
2.5错误处理与异常
在编程领域,错误处理和异常处理对于保证程序的稳定性和健壮性至关重要。本文介绍Python中的错误处理和异常处理机制,帮助开发人员创建更可靠的程序。
异常是程序执行期间发生的错误事件。
Python通过抛出异常来表示这些事件。
例如,访问不存在的列表项会导致IndexError,而尝试除以零会导致ZeroDivisionError。
处理异常的主要方法是try和exclusive语句。
“try”块包含可以引发异常的代码,而“exclusive”块则捕获并处理某些类型的异常。
例如,以下代码显示如何处理除法运算可能引发的ZeroDivisionError异常:pythondefsafe_divide(x,y):try:result=x/yexclusZeroDivisionError:print("Error:Divisionbyzeroisnotallowed.")returnNonereturnresult另外,我们也可以使用多个。
“Exception”子句用于处理各种类型的异常,提高程序的健壮性。
在某些情况下,我们可能需要无论是否发生异常都执行代码。
在这种情况下,可以使用“finally”语句。
无论条件如何,这都为我们的代码提供了可靠的执行路径。
自定义异常可以在处理程序错误时提供更具体的错误信息。
通过继承BaseException或其子类,我们可以定义自己的异常类型(例如ParsingError)来捕获特定的错误情况。
断言是一个强大的调试工具,用于检查程序中的条件是否符合预期。
如果不满足断言条件,程序将抛出AssertionError异常。
断言通常在开发过程中用于快速识别潜在的错误。
然而,在生产环境中,应该使用异常处理来处理各种可能的错误情况。
掌握错误处理和异常处理技能是编写高质量、健壮的程序的基础。
通过合理使用“try”、“exclusive”、“finally”以及自定义异常和断言,开发人员可以有效处理程序执行过程中可能出现的各种错误,保证程序的稳定性和可靠性。
Python中错误与异常的规范?
8.错误和异常到目前为止,还没有进一步讨论错误消息,但您可能在测试过的示例中遇到过一些错误消息。Python中(至少)有两种类型的错误:语法错误和异常。
8.1.语法错误语法错误,也称为解析错误,可能是学习Python时最常见的抱怨:>>>whileTrueprint('Helloworld')File"",line1,in?whileTrueprint('Helloworld')^SyntaxError:invalidsyntax解析器指示错误行并在检测到错误的位置前面显示一个小“箭头”。
该错误是由箭头之前的符号引起的(或者至少是这样检测的):在这种情况下,发现print()函数是错误的,因为它前面没有冒号(':')。
错误将打印文件名和行号,因此如果它们来自脚本,您就知道在哪里检查错误。