错误与异常

#错误处理
# 这种捕获错误可以跨越多层捕获 foo(s)-->bar(s)-->main(s) 在main函数中捕获的然而实在底层函数foo(s)中的错误
def foo(s):
return 1/int(s)

def bar(s):
return foo(s)*2

def main(s):
try :
print(bar(s))
print('上条语句没有错')
except ValueError as e:
print('ValueError',e)
except Exception as e: # ValueError为Exception子类 #需要了解其他错误类型的话请百度
print('Exception',e)
else : #没有错误的话这部分会执行
print('没有错误')

finally: # 有无错误都会执行
print('finall')
main('1')#没有错误示例
# main('e')#Value错误
# main('0')#分母为零错误

posted @ 2018-10-03 22:07  xinxinli  阅读(123)  评论(0编辑  收藏  举报