赞
赏
有时候系统提供的 异常 类型不能满足我们的需求。这时候我们可以通过创建一个新的异常 类 来拥有自己的异常,异常类 继承 自 Exception 类,可以直接继承,也可以间接继承。
在我们自己创建的类继承自系统的异常类之后,我们一般要重写该类的 构造函数,实现自己的异常逻辑。
class MyException(Exception):
def __init__(self,params):
pass
我们自定义了一个异常类 MyException,该类继承自 Exception 类,并且,我们需要重写其构造函数。
通过继承系统异常,实现自定义异常类
class IntError(Exception):
def __init__(self,n):
self.n = n
if __name__ == '__main__':
print("嗨客网(www.haicoder.net)")
try:
num = int(input("Please input a number:"))
print("Your input is:", num)
if num < 10:
raise IntError(num)
except IntError as e:
print("Call IntError, Num =", e)
程序运行后,控制台输出如下:
首先,我们通过继承自系统的 Exception 类,实现了自定义的异常类 IntError,并且重写了该异常类的构造函数,传入了一个 参数 n。
接着,我们在 main 函数里面,使用 try except 捕获异常,如果我们输入的 num 小于 10,那么使用 raise 主动触发了一个 IntError,最终,我们还可以通过 Except 捕获我们自定义的异常。
在我们自己创建的类继承自系统的异常类之后,我们一般要重写该类的构造函数,实现自己的异常逻辑。