python-异常捕获与抛出
s='123'
try:
print(s[3])#尝试执行
try :
print(2 / 0)
except Exception as hh:
print(hh)
except Exception as h: #捕获异常,并赋值给h
print(h)#打印h
else:
print('没异常则执行')
finally:
print('有没异常都要执行')
def tester():
try:
s='ssd'
print(2/0) #分母不为0
except IndexError as e:
print('索引越界,我能处理')
except ZeroDivisionError as e:
print('开发说底层代码修改很多,你测试可能不够')
raise e #抛出异常
def manager():
#领导询问你的测试进度
try:
tester()#测试方法有可能抛异常,那么对于manager来说他也要思考这个异常是否能处理
except ZeroDivisionError as e:
print('分母为0,我能处理')
if __name__ == '__main__':
manager()
结果:
开发说底层代码修改很多,你测试可能不够
分母为0,我能处理
都挺正常,下班
浙公网安备 33010602011771号