python中捕獲錯誤和異常的方法?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
創(chuàng)新互聯(lián)建站網(wǎng)站建設服務商,為中小企業(yè)提供成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設服務,網(wǎng)站設計,網(wǎng)站改版維護等一站式綜合服務型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)建站。
調(diào)試Python程序時,經(jīng)常會報出一些異常,異常的原因一方面可能是寫程序時由于疏忽或者考慮不全造成了錯誤,這時就需要根據(jù)異常Traceback到出錯點,進行分析改正;另一方面,有些異常是不可避免的,但我們可以對異常進行捕獲處理,防止程序終止。
異常類型
Python內(nèi)置異常
Python的異常處理能力是很強大的,它有很多內(nèi)置異常,可向用戶準確反饋出錯信息。在Python中,異常也是對象,可對它進行操作。BaseException是所有內(nèi)置異常的基類,但用戶定義的類并不直接繼承BaseException,所有的異常類都是從Exception繼承,且都在exceptions模塊中定義。Python自動將所有異常名稱放在內(nèi)建命名空間中,所以程序不必導入exceptions模塊即可使用異常。一旦引發(fā)而且沒有捕捉SystemExit異常,程序執(zhí)行就會終止。如果交互式會話遇到一個未被捕捉的SystemExit異常,會話就會終止。
requests模塊的相關異常
在做爬蟲時,requests是一個十分好用的模塊,所以我們在這里專門探討一下requests模塊相關的異常。
要調(diào)用requests模塊的內(nèi)置異常,只要“from requests.exceptions import xxx”就可以了
戶自定義異常
此外,你也可以通過創(chuàng)建一個新的異常類擁有自己的異常,異常應該是通過直接或間接的方式繼承自Exception類。下面創(chuàng)建了一個MyError類,基類為Exception,用于在異常觸發(fā)時輸出更多的信息。
在try語句塊中,拋出用戶自定義的異常后執(zhí)行except部分,變量 e 是用于創(chuàng)建MyError類的實例。
異常捕獲
當發(fā)生異常時,我們就需要對異常進行捕獲,然后進行相應的處理。python的異常捕獲常用try...except...結構,把可能發(fā)生錯誤的語句放在try模塊里,用except來處理異常,每一個try,都必須至少對應一個except。此外,與python異常相關的關鍵字主要有:
感謝各位的閱讀!看完上述內(nèi)容,你們對python中捕獲錯誤和異常的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關文章內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。