《python核心编程2》十、错误和异常
1.Python异常(traceback跟踪记录)
访问未申明变量
NameError
除数为零
ZeroDivisionError
解释器语法错误
SyntaxError
请求索引超出序列范围
IndexError
请求不存在的关键词
KeyError
输入输出错误
IOError
缩进错误
IndentationError
访问未知对象属性
AttributeError
2.异常检测与处理
try-except语句
没有错误,返回ok
捕获IOError,输出print语句
包装内建函数
ValueError
“止血包扎”,返回友好错误信息
多个except的try语句
两个except分别捕获ValueError,TypeError
多个异常的except语句
一个except捕获(ValueError,TypeError) #元组
捕获所有异常
BaseException捕获所有异常
异常参数
diag异常参数可返回不同错误信息
try-finally语句
是否发生异常都会执行finally关闭文件
3.上下文管理 (with语句)
with context_expr [as var]:
with_suite
4.触发异常(raise语句)
raise [SomeException [,args[,traceback]]]
5.断言(assert语句)
assert expression[,arguments]
6.标准异常
类BaseException是KeyboardInterrupt(用户退出Ctrl+c)、SystemExit(python解释器退出)、Exception(常规错误基类)的基类。
7.sys模块
sys.exc_info(exc_type,exc_value,exc_traceback)
8.相关模块
exceptions 内建函数
contextlib 上下文对象工具
sys 异常相关的对象和函数
总结:错误和异常在所难免。捕获错误和异常是不断追求的目标。处理错误和异常才是终极解决方案。