首页 > 代码库 > python 异常处理逻辑

python 异常处理逻辑

python的很多函数与方法都会产生异常,并将其作为发生错误或者重要事件的标志。异常也是一个对象,转换为字符串时,异常会产生一条消息文本。异常处理的简单语法格式如下:
try:    try_suiteexcept exception1 as variable1:    exception_suite1……except exception2 as variableN:    exception_suiteN

异常处理逻辑如下:

如果try块中的suite都正常工作,而没有产生异常,则except模块将被跳过;如果try块中产生了异常,则控制流会立即转向第一个与该异常匹配的suite---这意味着,跟随在产生异常的语句后面的suite中的语句将不再执行;如果发生了异常,并且给定了as variable部分,则在异常处理suite内部, variale引用的是异常对象。
 
如果异常发生在处理except块时,或者某个异常不能与任何一个except块匹配,python就会在下一个封闭范围内搜索一个匹配的except块。对合适的异常处理模块的搜索是向外扩展的,并可以延展到调用栈内,直到发现一个匹配的异常处理模块,或者找不到匹配的模块,这种情况下,程序将终止,并留下一个未处理的异常,此时,python会打印回溯信息以及异常的消息文本。
 
说明:
上述内容摘自《python3程序开发指南.第二版》1.2.5.4节

python 异常处理逻辑