在Python中的异常处理4-1_棉猴的博客-CSDN博客中提到,在try块中的代码运行时如果出现异常,会自动抛出这个异常。可以通过raise语句手动抛出异常。
1 raise语句手动抛出异常
raise后面跟要抛出的异常类或者异常类的实例,表示手动抛出该异常,代码如图1所示。
图1 手动抛出异常
从图1的代码中可以看到,try块中的代码使用raise手动抛出了NameError异常,通过多个except语句能够捕获该异常。
2 手动抛出自定义异常
抛出的异常实际上就是一个异常类或者是类的实例,因此自定义异常就是自定义异常类。代码如图2所示。
图2 自定义异常类
在图2中,定义了一个名为yangError的类,该类的父类是Exception,即所有异常类的父类。
相关链接1 Python中类的相关知识请参考
Python中类的使用1_python类使用_棉猴的博客-CSDN博客。
收到抛出yangError异常的代码如图3所示。
图3 手动抛出自定义异常
从图3中可以看出,try块中手动抛出了自定义异常yangError,并且将其实例的message属性设置为“yang的异常”,在except...as块中,打印该变量的实例e,即能显示该实例的message属性。