Python异常处理

Python异常处理

一、捕获异常

1.异常捕获语法

try:
    # 尝试执行的代码
    pass
except 错误类型1:
    # 针对错误类型1,对应的处理代码
    pass
except 错误类型2:
    # 针对错误类型2,对应的处理代码
    pass
............
except (错误类型m, 错误类型n,......):
    # 针对多种错误类型,对应的处理代码
    pass
............
except Exception as result:
    # 打印未知错误信息
    print("未知错误:{}".format(result))
else:
    # 没有异常才执行的代码
    pass
finally:
    # 无论是否有异常都会执行的代码
    pass

2.错误类型捕获

except:处理所有异常。
except Type:只处理指定类型的异常。
except Type as result:获取异常信息。
except (Type1, Type2, Type3, ......):同时处理多种异常。
excep Exception as result:捕获所有异常(所有的异常都继承自Exception)。

注意:except语句执行顺序为从上至下。因此书写捕捉异常语句时,要先写具体异常,再写具有普遍性的异常。

二、异常传递

异常发生后,会将异常传递给方法(函数)的调用者。
如果调用者有捕捉到该异常,则按捕捉机制处理。
如果调用者没有捕捉到该异常,则会向上层传递。
最终会传递到Python解释器。若异常仍未被处理,此处即简单终止程序。

三、抛出异常

raise 异常名

主动抛出异常。

四、自定义异常

class 自定义异常名(Exception):
    pass

自定义异常主要是自己定义的异常类,对异常进行分门别类管理,自定义异常需要继承异常父类Exception。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容