Python的异常处理机制允许程序在遇到错误时优雅地处理这些错误,而不是直接中断程序。以下是Python异常处理机制的概述:
默认异常处理器
当程序发生异常时,如果没有显式地使用`try-except`块来捕获异常,Python会调用默认的异常处理器,并在终端输出异常信息。
`try-except`块
`try`块包含可能引发异常的代码。
如果`try`块中的代码引发异常,程序会跳转到相应的`except`块进行处理。
可以捕获多种异常,从子类异常到父类异常。
`try-except-finally`块
`finally`块中的代码无论异常是否发生都会执行。
如果`try`块中没有异常发生,`finally`块中的代码会执行,并且程序会继续执行`try`块之后的代码。
如果`try`块中发生异常,`finally`块中的代码同样会执行,然后程序会继续执行`except`块之后的代码。
`try-except-else`块
`else`块中的代码在`try`块中的代码成功执行,没有引发任何异常时执行。
`try-except-elif`块
可以在`except`块后添加`elif`来检查多种异常类型。
断言(Assertions)
`assert`语句用于测试条件是否为`True`。
如果条件为`False`,程序会中断并调用默认的异常处理器,同时输出`assert`语句后面的提示信息。
try:
num = int(input("请输入一个整数:"))
result = 10 / num
print("结果:", result)
except ValueError:
print("输入的不是有效的整数!")
except ZeroDivisionError:
print("除数不能为零!")
finally:
print("异常处理结束")
在这个例子中,如果用户输入的不是整数或者输入的整数是0,程序会捕获相应的异常并打印出错误信息,然后无论是否发生异常,`finally`块中的代码都会执行,打印出"异常处理结束"。
希望这能帮助你理解Python的异常处理机制。