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