逻辑:1、如果try“语句t”执行出现错误,会匹配第一个错误码,如果匹配上就执行对应“语句”2、如果当try"语句t"执行出现错误,没有匹配的异常,错误将会被提交到上一层的try语句。或者程序的最上层3、若try"语句t"执行没有错误,执行else下的"语句e"4、一句Except中可以接收多个异常
例:
try: print("***") except NameError as e: print("444") else: print("666") #*** #666 #常用 try: print(4/0) except: print("程序出现异常") #程序出现异常
例:
try: print(1/0) except ZeroDivisionError as e: print("除数不能为零") finally: print("必须执行到这里") #除数不能为零 #必须执行到这里例:
def func5(num,div): assert (div!=0),"div不能为0" return num/div print(func5(10,0)) #AssertionError: div不能为0
例:
def func1(num): print(1/num) def func2(num): func1(num) def main(): func2(0) try: main() except: print("****") #****这里main调用了func2,func2调用了func1,func1出现了错误,这是只要main捕获到了就可以处理
转载于:https://www.cnblogs.com/byadmin/articles/foundation-5.html