try....except语句语法格式:
try:
<语句>
except(异常名称):
<语句>
注意在except语句中的括号中的异常名称是可以省略的,当省略时就是全捕捉
try...except语句的执行步骤
1.执行try字句
2.如果没有异常发生则会跳过except子句,try字句执行之后结束
3.如果在执行try字句时发生了异常,如果与except中异常名称相同,则会执行except字句
4.如果try字句中发生了异常,但与except中的异常名称不符合则会传递到上层的try中,即输出起异常类型
eg:
try:
10/0
except ZerpDivisionError:
print("数值不能除以0")
全捕捉
使用一个except语句处理所有的异常
eg:
s = [1,2,3,4]
def get(n):
try:
if n < 200:
data = s[4]
else:
file = open(100,200,300,400)
except:
print("gain all Error")
get(100)
get(300)
excpet字句中忽略所有的异常,从而让程序输出自定义的异常信息
异常中的else
使用else语句来处理没有异常的情况。注意使用else语句时,一定要有except语句。类似于只有有if才能有else
def get(n):
if n < 100:
data = s[4]
elif 200 <= n <= 300:
data = s[4]
except:
print("Error")
else:
print("True")
添加一个else语句可以使我们能够更好的判断程序执行情况
抛出异常
python中是用raise语句抛出一个指定的异常
eg:
raise NameError()
raise唯一的一个参数指定了要抛出的异常。
结束python解释器的运行
raise SystemExit
|