【python根本——异常BUG】

打印 上一主题 下一主题

主题 1623|帖子 1623|积分 4869

什么是异常(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.全部异常,提前假设某处出现异常,做好预备工作
  1.         try:
  2.         可能发生错误的代码
  3.     except:
  4.         应对措施
  5.     except Exception as e:#exception是所有异常的父类,可以通过不具体指定也了解该异常
  6.         print("捕捉到异常,你猜猜在哪(。・∀・)ノ")
  7.     else:
  8.         print("没有异常(●'◡'●)")
  9.     finally:
  10.         print("无论如何你都会看到我,因为我是finally(*/ω\*)")
复制代码
例子
  1. # f=open("linux.txt","r",encoding="utf-8")#没有此文件,故出现红字提示异常中断
  2. try:
  3.     f = open("linux.txt", "r", encoding="utf-8")
  4. except Exception as e:
  5.     print("出现异常,猜猜是谁(。・∀・)ノ:", e)
  6.     f = open("bug.txt", "w", encoding="utf-8")# 写入不存在的文件会自动创建,但是读入不可以
复制代码

2.捕捉指定异常 :先运行代码,假如报错,把错误范例复制然后except这种范例异常的处理
  1.    try:
  2.        print(TOT)
  3.    except NameError as namebug
  4.        print("namebug变量名称未定义错误")
复制代码


3.捕捉指定多种异常(但仍然捕捉一个,只是不限范例)
  1.   try:
  2.     a=1/0
  3. except (ZeroDivisionError,NameError) as e2:
  4.     print("捕捉到异常啦!o(* ̄▽ ̄*)ブ :",e2)
复制代码

  1. try:
  2.     a=1/0 #a=1/10则有异常
  3. except:
  4.     print("出现异常ヽ(*。>Д<)o゜")
  5. else:
  6.     print("没有异常φ(゜▽゜*)♪")
  7. finally:
  8.     print("鉴定完毕,收工(づ ̄ 3 ̄)づ")#不管有无异常都要执行
复制代码


异常的传递

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

缠丝猫

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表