一、语法
filename=
<span style="color: #008000;">#<span style="color: #008000;">try except finally demo
<span style="color: #0000ff;">try<span style="color: #000000;">:
open(<span style="color: #800000;">'<span style="color: #800000;">abc.txt<span style="color: #800000;">'<span style="color: #000000;">)
<span style="color: #0000ff;">print<span style="color: #000000;"> hello
<span style="color: #0000ff;">except<span style="color: #000000;"> IOError,msg:
<span style="color: #0000ff;">print <span style="color: #800000;">'<span style="color: #800000;">the file not exist<span style="color: #800000;">'
<span style="color: #0000ff;">except<span style="color: #000000;"> NameError,msg:
<span style="color: #0000ff;">print <span style="color: #800000;">'<span style="color: #800000;">hello not defined<span style="color: #800000;">'
<span style="color: #0000ff;">finally<span style="color: #000000;">:
<span style="color: #0000ff;">print <span style="color: #800000;">'<span style="color: #800000;">end<span style="color: #800000;">'
<span style="color: #008000;">#<span style="color: #008000;">throw exception
<span style="color: #0000ff;">if filename == <span style="color: #800000;">"<span style="color: #800000;">hello<span style="color: #800000;">"<span style="color: #000000;">:
<span style="color: #0000ff;">raise TypeError(<span style="color: #800000;">'<span style="color: #800000;">nothing<span style="color: #800000;">')
二、常见异常类型
1、AssertionError:assert语句失败
2、AttributeError:试图访问一个对象没有的属性
3、IOError:输入输出异常,基本是无法打开文件
4、ImportError:无法引入模块或者包,基本是路径问题
5、IndentationError:语法错误,代码没有正确对齐
6、IndexError:下标索引超出序列边界
7、KeyError:试图访问你字典里不存在的键
8、KeyboardInterrupt:Ctrl+C被按下
9、NameError:使用一个还声明的变量
10、SyntaxError:代码逻辑语法出错,不能执行
12、TypeError:传入的对象类型与要求不符
13、UnboundLocalError:试图问一个还未设置的全局变量,基本上是由于另有一个同名的全局变量
14、ValueError:传入一个不被期望的值,即使类型正确