python入门10异常处理

(1)概念:当程序遇到问题时不让程序结束,而越过错误继续向下执行

(2)错误处理语句 :

① try….except….else

   格式:
   try:
       语句t
   except 错误码 as e:
       语句1
   except 错误码 as e:
       语句2
   else:
       语句e        (注意:else语句可有可无)

逻辑:检测try语句块里面的错误,让except语句捕获错误信息并处理
1.如果当try”语句t”执行出现错误,会匹配第一个错误码,如果匹配上就执行对应“语句“
2.如果当try”语句t”执行出现错误,没有匹配的异常,错误提交到上一层的try语句
3.如果当try”语句t”执行没有出现错误,执行else下面的语句

例: try:
        print(3/0)
     except NameError as e:
        print("无变量")
     except ZeroDivisionError as e:
        print("除数为0")
     else:
        print("代码没有问题")

② 使用except而不使用任何的错误类型

             try:
                语句
             except:
                语句

③使用except带着多种异常

             try:
                语句
             except( error1 ,error2  ):
                语句    

④ try….except….finally finally语句必然执行

   格式:
   try:
       语句t
   except 错误码 as e:
       语句1
   except 错误码 as e:
       语句2
   finally:
       语句r 

⑤所有的错误都继承自BaseException,父类错误覆盖子类错误

⑥跨越多层调用,main调用了fun2,fun2调用fun1,fun1出现错误,可以捕获到错误

       def func1(num):
          print(1/num)
       def func2(num):
          func1 
       def main():
          func(0)
       try:
          main()
       except ZeroDixisionError as e:
          print("           ")

⑦断言
格式:

            assert(div!=0),"div不能为0"

逻辑:断言”div不能为0”
报错类型为 断言内容

猜你喜欢

转载自blog.csdn.net/qq_35076836/article/details/82598389
今日推荐