一。嵌套异常的3种情况:
1.含except的嵌套:
就近原则:发生异常时,会被离发生异常的最近地方except捕获并拦截,
异常一旦被except捕获,就死了,这个异常的生命就终结了,
不会向上层的try,再做传递,同时执行就近的try后面的语句。
样例:
2. 含try/finally的嵌套:
异常会传递:异常会向上层嵌套或调用的try传递,直至传递到默认异常
处理器,打印出异常信息
样例:
3. 即含except又含finally的嵌套:
二。异常的几种用法:
所有的错误都是异常,但并不是所有的异常均是错误。
1.文件读取判断是否到了行末:
2. 对返回值的判断:
3. try/finally and with/as
用于关闭文件或服务器的连接
4. 用于程序调试:
当有多个模块,多个函数互相调用,加try/except,可以确保其中一个或多个模块,函数的错误
不会导致整个程序终止运行,同时能清晰的捕获和显示、保存异常信息
三。关于sys.exc_info():
四。异常使用的技巧:
1. try里应该包装什么样的代码:
2. 捕获的太多:
3. 捕获的太少: