把可能出错的代码放在try中,把处理异常的代码放在except中
捕获所有异常
try:
..
except :
.....
捕获指定异常
try :
.......
except IOError:
pass #pass表示实现了相应的实现,但什么也不做;如果把pass改为print语句,那么就会输出其他信息
print("出错了")
以把多个异常同时放在一个except中写
except (IOError,NameError): #要打括号
......
还可以打印错误产生的信息
except Exception as result:
print(result)
同理,还与Java中的异常一样,可以有finally语句
# 1.多个错误类型可以放在一个except语句中用括号括起来
# 2.except语句后用’as 字符‘,然后将字符打印出来,将会打印错误原因
# 3.直接用Exception来代替except语句中的错误类型,它是所有错误的父类
'''
try :
print('----------- test1 异常发生前的可以输出 -------------------')
f = open('123.txt', 'r') # 用只读模式打开一个不存在的文件会发生异常,后面的代码不会被执行
except IOError: # 文件没有找到属于IOError异常。 异常类型
pass # 就是一个占位,没有具体意义
print("出错了")
'''
'''
# 多个错误类型可以放在一个except语句中
try :
print('----------- test1 异常发生前的可以输出 -------------------')
f = open('123.txt', 'r') # 用只读模式打开一个不存在的文件会发生异常,后面的代码不会被执行
print(num)
except (IOError, NameError): # 文件没有找到属于IOError异常。 异常类型
# 在f = open('123.txt', 'r') 处已经产生错误了,后面的print(num)错误完全没有产生
# 可以直接用括号把可能产生的错误类型都放在一个except语句中:except (IOError,NameError,....)
print("出错了")
'''
'''
# 打印错误原因:as
try:
print('----------- test1 异常发生前的可以输出 -------------------')
f = open('123.txt', 'r')
print(num)
except (IOError, NameError) as a: # 用as可以直接将错误类型打印出来
print("出错了")
print(a)
'''
# 捕获所有异常:直接用Exception来代替except语句中的错误类型
try:
print(num)
except Exception as a: # Exception可以承接任何异常,它是所有异常的父类
print("出错了")
print(a)