1,异常处理
python 中提供了类似于 java中的异常处理机制,即:try ... except ... finally
其中,except 可以有多个,而 finally 总是会被执行。
由于异常其实是一个类,而且所有的异常类都来源于顶层异常类 Exception,各个异常类之间又具有层次关系。因此,使用 except 捕获异常的时候,上一个 except 会捕获其本身以及其下所有子类的异常信息。因此,如果当前异常类是上一个 except 捕获异常类的子类,那么当前 except 不会捕捉到任何异常信息,因为已经被上一层拦截!
相反,如果当前 except 能够捕获到异常,那么异常也不会传递到下一个 except !
正如程序看到的一样,finally 块是一定会被执行的,不管有没有异常产生!
同样的,你也可以定义自己的异常类,但是需要继承自 python 中的某个异常类。然后在程序中需要的时候“抛出”它们(使用 raise 关键字),对于抛出的异常,如果在当前位置没有处理方法,那么异常会“向上传递”直到有程序处理或者当抛到顶层的时候交给 python 来输出默认信息。
2,代码调试
程序出错在所难免,在出错的时候有一种行之有效的调试方法是很有必要的。
简单粗暴的方式在是需要的地方直接使用 print 来打印调试信息
比 print 稍微好一点的就是采用断言:assert
还有一个种方法是使用 logging 模块,来进行日志的收集,这个可以后期再去研究!
当然了,如果有一个称手的IDE,直接开启断点调试是最好的了 ^_^
-----------------------------------------------------厉害的Python程序员----------------------------------------
晋级到下一个模式——常用模块探究学习