JCLpython 笔记:异常类
异常 也是个 类
所以遵守类的命名规则。并且如果某个异常实际上指代一个错误的话,最好使用“Error”做后缀;Python提供try…except…finally/else语句来接收这个异常。
遇到错误后,会引发异常。如果异常对象未被处理或捕捉,程序会用所谓的回溯(Traceback,一种错误信息)终止执行。
在python 2.5之前,所有的异常都继承Exception,所以我们可以使用Exception来接收所有的异常。从python2.5版本之后,所有异常类有了新的基类BaseException,Exception同样也继承BaseException,所以我们也可以使用BaseException来接收所有的异常。
在BaseException后面定义msg变量用于接收异常信息,通过print将其打印出来。
定义的ActtionTest类,在except块捕获到异常后,系统打印了异常信息e,同时主动引发了一个ActionException的异常,通知该方法的调用者main()方法再次处理该ActionException异常;所以程序中的main()函数,也就是bid函数的调用者还可以再次捕获ActionException异常,并将该异常的详细信息打印出来,
这是except和raise结合使用的案例,实际场景中很多这种应用:
1.应用后台需要通过日志来记录异常发生的详细情况;
2.应用还需要根据异常向应用使用者传达某种提示;在这种情况下,就需要2个方法共同完成,也就需要except和raise结合使用;
3.两个高端:
Try…except…else, else后面的语句不发生异常的时候执行;文件的删除可以用他;
Try…except…finally ,finally后面的语句不论是否发生异常的时候都执行;一般用于文件的关闭,资源的释放,数据库连接返回给连接池;