第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Python——異常層級(jí)分析

標(biāo)簽:
Python

1、大部分的内置异常都是Exception的子类
2、Exception本身是从BaseException类继承过来的
3、因此所有的异常都是必须从BaseException类进行扩展
4、Exception是BaseException类的子类,而NameError是Exception的子类,NameError是BaseException类的子子类(或者叫间接子类)
5、那么,有没有异常类是直接从BaseException类继承的呢?有,那就是下面的两个
    SystemExit:
    这个异常被引发的规则是:不管程序是否正常退出,SystemExit异常都会被触发
    那么退出的动作,通常是在某段代码中调用了sys.exit()之后就会触发SystemExit异常
    SystemExit异常存在的意义是为了在程序退出之前清理代码,但无需显示的去处理它。
    清理代码的动作最好是放在try-finally中的finally里,finally语句是不管是否有异常都会执行
    
    KeyboardInterrupt:
    这个异常适用于命令行程序,他的引发规则是在键盘上按Ctrl+C,此时这个异常会被抛出
    
6、关于sys.exit()
    sys.exit() 引发一个 SystemExit异常,若没有捕获这个异常
    Python解释器会直接退出;捕获这个异常可以做一些额外的清理工作。
    0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。

7、查看其他异常类是否真的是继承于Exception

如查看NameError

https://img1.sycdn.imooc.com//5b238a690001e63c07570252.jpg

8、查看SystemExit和KeyboradInterrupt的父类

https://img1.sycdn.imooc.com//5b238a720001f9a606030178.jpg


9、异常层级关系图

https://img1.sycdn.imooc.com//5b238a80000141b608850390.jpg


10、需要注意的是

  如果只是使用except:语句而没有指定任何类型的异常时,将会捕捉所有BaseException的子类

try:
    pass
except:
    pass

也就是说,这么做的话,会捕捉所有除了SystemExit和Keyboradinterrupt这两个特殊异常以外的其他异常,这是不推荐的做法

如果需要捕获任何异常(除了那两个特殊异常)推荐的做法是指明是except Exxception,看以下代码

try:
    pass
except Exception:
    pass

反过来,如果不想捕捉所有异常,那么指明BaseException,代码如下

try:
    pass
except BaseException:
    pass
#那么这么做的话,就仅仅只是处理那两个特殊异常了,因此是捕捉不到Exception

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消