什么是异常(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")# 写入不存在的文件会自动创建,但是读入不可以
复制代码
2.捕捉指定异常 :先运行代码,假如报错,把错误范例复制然后except这种范例异常的处理
- try:
- print(TOT)
- except NameError as namebug
- print("namebug变量名称未定义错误")
复制代码
3.捕捉指定多种异常(但仍然捕捉一个,只是不限范例)
- try:
- a=1/0
- except (ZeroDivisionError,NameError) as e2:
- print("捕捉到异常啦!o(* ̄▽ ̄*)ブ :",e2)
复制代码
- try:
- a=1/0 #a=1/10则有异常
- except:
- print("出现异常ヽ(*。>Д<)o゜")
- else:
- print("没有异常φ(゜▽゜*)♪")
- finally:
- print("鉴定完毕,收工(づ ̄ 3 ̄)づ")#不管有无异常都要执行
复制代码
异常的传递
嵌套函数的内部假如异常且没有捕捉,那么这个异常会传递给调用它的函数
假如嵌套函数生命周期内都没有捕捉异常,程序就会报错
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |