Python里通过Exception这个基类,提供各种不同的内置异常类型。其实呢,异常还可以自定义。自定义异常,一定要他继承exception。自定义异常,就是先把我们一些注意的东西,放在里边,然后使用raise引发,而且只能通过手工方式触发。
再怎么着也没有案例来得直接,定义一个异常类DivisionException,继承Exception,然后初始化两个成员,x和y。
然后,用一个实例来触发这个异常。触发这个异常前,先用print打印x /y的值。如下:
在try语句中,x = 2, y = 2, 然后, 2 / 2 = 1.0,继续执行if语句,raise将触发异常,这个异常刚好被exception捕获。
如上,结果为1.0,且捕获到了DivisionException。
从以上实例可以看出,自定义异常其实就是继承Exception,并封装自己的属性和操作,最后,通过raise方法来触发这个异常,整个异常处理的过程就与普通异常没有区别了!