缠丝猫 发表于 2025-1-10 10:45:04

【python根本——异常BUG】

什么是异常(BUG)

   检测到错误,py编译器无法继承实行,反而出现错误提示
假如遇到错误能继承实行,那么就捕捉(try)
1.得到异常:try的实行,try内只可以捕捉一个异常
2.预案实行:except背面的语句
3.传入异常:except … as uestc+print(uestc)
4.没有异常:else…
5.鉴定完毕,收尾的语句(一定实行):finally #常应用于f.close()
BUG举例:

打开一个不存在的文件: No such file or directory: ‘不存在的文件’
异常的情况:

1.整个程序由于一个BUG失灵瓦解停止
2.对BUG提醒,程序继承举行(*)
显然,我们遇到的BUG大多由于1,但是我们盼望是2
捕捉异常:

1.全部异常,提前假设某处出现异常,做好预备工作
        try:
      可能发生错误的代码
    except:
      应对措施
    except Exception as e:#exception是所有异常的父类,可以通过不具体指定也了解该异常
      print("捕捉到异常,你猜猜在哪(。・∀・)ノ")
    else:
      print("没有异常(●'◡'●)")
    finally:
      print("无论如何你都会看到我,因为我是finally(*/ω\*)")
例子
# f=open("linux.txt","r",encoding="utf-8")#没有此文件,故出现红字提示异常中断
try:
    f = open("linux.txt", "r", encoding="utf-8")
except Exception as e:
    print("出现异常,猜猜是谁(。・∀・)ノ:", e)
    f = open("bug.txt", "w", encoding="utf-8")# 写入不存在的文件会自动创建,但是读入不可以
https://i-blog.csdnimg.cn/direct/fe2ca7642a4e4ce6b3a371949e9e8439.png
2.捕捉指定异常 :先运行代码,假如报错,把错误范例复制然后except这种范例异常的处理
   try:
       print(TOT)
   except NameError as namebug
       print("namebug变量名称未定义错误")
https://i-blog.csdnimg.cn/direct/da95bd4a9737423193126ce757277f64.png
https://i-blog.csdnimg.cn/direct/e3b4cfef1d594188a9db38cf7ef2c0d1.png
3.捕捉指定多种异常(但仍然捕捉一个,只是不限范例)
try:
    a=1/0
except (ZeroDivisionError,NameError) as e2:
    print("捕捉到异常啦!o(* ̄▽ ̄*)ブ :",e2)
https://i-blog.csdnimg.cn/direct/358a3bceea324d508531ba32a97ebffe.png
try:
    a=1/0 #a=1/10则有异常
except:
    print("出现异常ヽ(*。>Д<)o゜")
else:
    print("没有异常φ(゜▽゜*)♪")
finally:
    print("鉴定完毕,收工(づ ̄ 3 ̄)づ")#不管有无异常都要执行
https://i-blog.csdnimg.cn/direct/9ed36840ca7d4a2bb3cb275e9562b450.png
https://i-blog.csdnimg.cn/direct/c9ae6f3181584d75a2c21c14805b7551.png
异常的传递

嵌套函数的内部假如异常且没有捕捉,那么这个异常会传递给调用它的函数
假如嵌套函数生命周期内都没有捕捉异常,程序就会报错

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【python根本——异常BUG】