python(day020——异常1)

    技术2022-07-10  136

    1.try 

    print(1) try: a=1/0 print("***********") except:#拦截所有出现的异常错误,除了语法错误 #如果出现异常,则拦截后面语句,直接跳转执行except print("some error occur!") print(2) print(1) try: a = 1 print("***********") except: # 如果try中没有异常错误发生,则不执行except print("some error occur!") print(2)

    2.如果拦截到指定类型错误,则后面其他except被短路,不再执行。

    print(1) try: a=1/0 print("***********") except ZeroDivisionError: print("除数是0的错误出现了,所以程序不计算了!") except:#拦截所有出现的异常错误,除了语法错误 #如果出现异常,则拦截后面语句,直接跳转执行except # 如果try中没有异常错误发生,则不执行except print("some error occur!") print(2) """执行结果: 1 除数是0的错误出现了,所以程序不计算了! 2 """

    3.打印错误信息e

    print(1) try: a=1+"a" print("***********") except TypeError as e: print("Type 类型错误") print(e) except:#拦截所有出现的异常错误,除了语法错误 #如果出现异常,则拦截后面语句,直接跳转执行except # 如果try中没有异常错误发生,则不执行except print("some error occur!") print(2)

    4.如果程序没有拦截到异常,则依旧会崩溃!

    5.调用异常拦截:raise

    print(1) value=input("请输入一个值:") try:#将可能出现错误的代码放到try中 if value=="type": raise TypeError if value=="zero": raise ZeroDivisionError if value=="all": raise #此写法只会让except拦截 except ZeroDivisionError: print("除数是0出现错误出现了") except TypeError as e: print("Type 类型错误") print(e) except:#拦截所有出现的异常错误,除了语法错误 #如果出现异常,则拦截后面语句,直接跳转执行except # 如果try中没有异常错误发生,则不执行except print("some error occur!") print(2)

     

    6.定制自己的异常信息

    7.try不能单独存在,如果不写except,可以写finally。finally:不管异常有没有被拦截到,都会执行。

    print(1) try: a=1/0 except ZeroDivisionError: print("除数不能为0!") finally: print("done")

    8.else:当没有异常出现时,执行。放在finally之前

    print(1) try: a=1 except ZeroDivisionError: print("除数不能为0!") else: print("没有异常") finally: print("done") """结果: 1 没有异常 done """

    9.拦截错误并打印异常详细信息,引traceback包。

    10.如果嵌套异常,被里面的try捕获,则最外面的else任然会执行

    Processed: 0.013, SQL: 9