捕获一个错误:
try:
open('1.txt','r')
except FileNotFoundError:
print('没有该文件。')
捕获多个错误:
try:
open('1.txt','r')
print(1/0)
except (FileNotFoundError,ZeroDivisionError):
print('报错。')
捕获所有错误:
try:#在有可能会出现异常的地方,才加上try except
open('1.txt','r')
print(1/0)
except Exception as result:
print('错',result)
else:
print('没有异常')#没有异常时走else语法
finally:
print('哈哈哈')#不管有没有异常,都会执行
如果python自带的异常满足不了我们,我们可以自定义异常,要继承Exception。
自定义异常:
要求:
如果输入“老张”就抛出异常。
class MyException(Exception):
def __init__(self,name):
self.name = name
def test():
name = input('请输入名字')
try:
if name == '老张':
#抛出异常
raise MyException(name)
except MyException as e:
print('%s醉倒在柏油路上。'%e.name)
test()
在异常中抛出异常:
try:
open('1.txt','r')
except Exception as e:
raise #虽然捕获到了,但是还是抛出去了