Python学习第十天
异常处理
Python提供了异常处理机制,可以在异常出现时及时捕获,并且进行处理。
单个except结构
try:
a = int(input('请输入第一个整数: '))
b = int(input('请输入第二个整数: '))
result = a / b
print('结果是', result)
except ZeroDivisionError:
print('除数不能为0')
多个expect结构
捕获的顺序应按照从子类到父类的顺序,为了避免出现遗漏的异常,可以在最后加上BaseException
try:
a = int(input('请输入第一个整数: '))
b = int(input('请输入第二个整数: '))
result = a / b
print('结果是', result)
except ZeroDivisionError:
print('除数不能为0!')
except ValueError:
print('请输入整数!')
except BaseException as e:
print(e)
try...except..else结构
如果try块中没有出现异常,就执行else块;若抛出异常,则执行except块。
try:
a = int(input('请输入第一个整数: '))
b = int(input('请输入第二个整数: '))
result = a / b
except ZeroDivisionError:
print('除数不能为0!')
except ValueError:
print('请输入整数!')
except BaseException as e:
print(e)
else:
print('结果是', result)
try...except...else...finally结构
无论是否发生异常,finally块都会执行,常用来释放try块中申请的资源。
try:
a = int(input('请输入第一个整数: '))
b = int(input('请输入第二个整数: '))
result = a / b
except ZeroDivisionError:
print('除数不能为0!')
except ValueError:
print('请输入整数!')
except BaseException as e:
print(e)
else:
print('结果是', result)
finally:
print('我都会执行!')