自定义异常
前面介绍了异常的处理,在很多时候Python内置和标准库提供的异常就已经足够满足使用,但是在一些项目中,应用自定义异常也是十分普遍的事情,而且能够达到针对项目进行特殊设计。
异常就是一个继承了Exception
类的类。Python中的所有异常都直接或者间接继承自Exception
类。异常一般以Error
字样结尾。当创建的一个模块有可能抛出多种不同的异常时,通常的做法是为这个包建立一个基础异常类,然后基于这个基类为不同的错误情况建立不同的子类。例如:
class Error(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
class InputError(Error):
pass
class TransitionError(Error):
pass