Python自定义异常类及用法

  • 内容
  • 评论
  • 相关

前面的例子里充斥了很多 Python 内置的异常类型,读者也许会问,我可以创建自己的异常类型吗?

答案是肯定的,Python 允许用户自定义异常类型。实际开发中,有时候系统提供的异常类型不能满足开发的需求。这时就可以创建一个新的异常类来拥有自己的异常。

其实,在前面章节中,已经涉及到了异常类的创建,例如:

class SelfExceptionError(Exception):
    pass
try:
    raise SelfExceptionError()
except SelfExceptionError as err:
    print("捕捉到自定义异常")

运行结果为:

捕捉到自定义异常

可以看到,此程序中就自定义了一个名为 SelfExceptionError 的异常类,只不过该类是一个空类。

由于大多数 Python 内置异常的名字都以 "Error" 结尾,所以实际命名时尽量跟标准的异常命名一样。

需要注意的是,自定义一个异常类,通常应继承自 Exception 类(直接继承),当然也可以继承自那些本身就是从 Exception 继承而来的类(间接继承 Exception)。


Python异常类继承图
图 1 Python 异常类继承图

本文标题:Python自定义异常类及用法

本文地址:http://www.hosteonscn.com/6614.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注