Python自定义异常

Python自定义异常教程

有时候系统提供的 异常 类型不能满足我们的需求。这时候我们可以通过创建一个新的异常 来拥有自己的异常,异常类 继承Exception 类,可以直接继承,也可以间接继承。

在我们自己创建的类继承自系统的异常类之后,我们一般要重写该类的 构造函数,实现自己的异常逻辑。

Python自定义异常详解

语法

class MyException(Exception): def __init__(self,params): pass

说明

我们自定义了一个异常类 MyException,该类继承自 Exception 类,并且,我们需要重写其构造函数。

案例

Python自定义异常类

通过继承系统异常,实现自定义异常类

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)

程序运行后,控制台输出如下:

19 python自定义异常.png

首先,我们通过继承自系统的 Exception 类,实现了自定义的异常类 IntError,并且重写了该异常类的构造函数,传入了一个 参数 n。

接着,我们在 main 函数里面,使用 try except 捕获异常,如果我们输入的 num 小于 10,那么使用 raise 主动触发了一个 IntError,最终,我们还可以通过 Except 捕获我们自定义的异常。

Python自定义异常教程总结

在我们自己创建的类继承自系统的异常类之后,我们一般要重写该类的构造函数,实现自己的异常逻辑。