#coding=utf-8
'有生就有死,有思考就有谬误。'
————亚历山大·蒲柏
<study-error>
1,BUG 的展示
#BUG的两种情况:
a,整个程序停止运行
b,对BUG进行提醒,整个程序继续运行。
#捕获异常的目的便在于达到b效果。
{ such as:
File "<console>", line 1, in <module>
NameError: name 'a' is not defined
}
2,BUG对照表格
{
-Error #错误
—Exit #退出
—Warning #警告
-Assert[ion] (语句) + Error
-Attribute (属性) + Error
-Import (导入) + Error
-Index (索引) + Error
-File (文件) NOT (未) Found (发现) + Error
-Key (键) + Error
-Keyboard (键盘) Interrupt(中断)
-Lookup (查找) + Error
-Name + Error
-OS (操作系统) + Error
-Syntax (语法) + Error
-Type (类型) + Error
-Indentation (缩进) + Error
-value (值/参数) + Error
-Unicode Encode(编码/Decode解码) + Error
-Runtime (运行) + Error
}
3,捕获异常
a,基本语法:
try:
可能会出现问题的代码
except:
如果出现异常执行的代码
b,捕获指定/多个异常:
try:
一般只放置一行尝试执行的代码
except (NameError,TypeError) as e:
如果出现异常执行的代码
#e 储存异常的具体信息。
c,捕获所有异常:
try:
问题代码
except Exception as e:
执行代码
d,异常else:
try:
except:
else:
finally:
无论如何一定会执行的code
4,aise关键字
抛出一个异常,从而提醒程序出现了异常情况,使程序能够正确的处理这些异常情况。
语法结构:raise[Exception类型(异常描述信息)]
5,异常具有传递性