當前位置:成語大全網 - 書法字典 - Python異常處理摘要

Python異常處理摘要

什麽是不正常?

異常是壹個事件,它會在程序執行過程中發生,影響程序的正常執行。壹般情況下,Python無法正常處理程序時會出現異常。

壹個例外是表示錯誤的Python對象。當Python腳本中出現異常時,我們需要捕捉並處理它,否則程序將終止執行。

Python提供了兩個非常重要的函數來處理python程序運行中的異常和錯誤。您可以使用這個函數來調試python程序。

異常處理:本站Python教程會詳細介紹。

斷言:本網站的Python教程會詳細介紹。

異常處理

您可以使用try/except語句來捕捉異常。try/except語句用於檢測try語句塊中的錯誤,以便except語句可以捕獲異常信息並進行處理。如果妳不想在異常發生時結束妳的程序,只需在try中捕捉它。

語法:

下面是try的簡單語法...除...之外...否則:

try的工作原理是,當壹個try語句啟動時,python會在當前程序的上下文中對其進行標記,這樣當出現異常時,就可以回到這裏。首先執行try子句,接下來會發生什麽取決於執行過程中是否出現異常。

如果在執行try之後的語句時出現異常,python會跳回try並執行與異常匹配的第壹個異常子句。處理完異常後,控制流會遍歷整個try語句(除非在處理異常時引發了新的異常)。

如果在try之後的語句中出現異常,但是沒有匹配的except子句,那麽異常將被提交到上面的try或程序的頂部(這將結束程序並打印默認的錯誤消息)。

如果在try子句的執行過程中沒有發生異常,python將在else語句之後執行該語句(如果有else語句的話),然後通過整個try語句控制流程。

例子

下面是壹個簡單的例子,它打開壹個文件,文件中的內容無壹例外地被寫入:

上面的程序輸出結果:

例子

下面是壹個簡單的例子。它打開壹個文件,文件中的內容被寫入,但是該文件沒有寫權限,並且發生異常:

上面的程序輸出結果:

使用不帶任何異常類型的except。

您可以在沒有任何異常類型的情況下使用except,如下例所示:

通過上述方式,try-except語句捕獲了所有發生的異常。但這並不是壹個好辦法,我們也無法通過這個程序識別出具體的異常信息。因為它捕捉所有異常。

將except與多個異常類型壹起使用。

您還可以使用同壹個except語句來處理多個異常消息,如下所示:

try-finaly語句

不管是否發生異常,try-finally語句都將執行最後壹段代碼。

例子

如果打開的文件沒有可寫權限,輸出如下:

同樣的例子也可以這樣寫:

當try塊中拋出異常時,finally塊代碼會立即執行。執行完finally塊中的所有語句後,將再次引發異常,並執行except塊中的代碼。參數的內容與異常不同。

異常參數

異常可以接受壹個參數,該參數可以用作輸出異常信息參數。您可以通過except語句捕獲異常的參數,如下所示:

變量收到的異常值通常包含在異常語句中。變量可以接收壹個或多個元組形式的值。

壹個元組通常包含壹個錯誤字符串、壹個錯誤號和壹個錯誤位置。

例子

下面是壹個單壹異常的示例:

上述程序的結果如下:

觸發異常

我們可以自己使用raise語句來觸發異常。

Raise語法格式如下:

在語句中,Exception是異常的類型(例如,NameError),參數是異常參數值。該參數是可選的。如果沒有提供,異常的參數為“None”。

最後壹個參數是可選的(實際中很少使用),如果存在,則是為了跟蹤異常對象。

例子

例外可以是字符串、類或對象。Python內核提供的大多數異常都是實例化的類,它們是壹個類的實例的參數。

定義異常非常簡單,如下所示:

註意:為了捕捉異常,“except”語句必須拋出具有相同異常的類對象或字符串。

例如,如果我們捕獲上述異常,則“except”語句如下:

用戶定義的異常

通過創建壹個新的異常類,程序可以命名自己的異常。異常通常應該直接或間接地從異常類繼承。

下面是壹個與RuntimeError相關的例子。在示例中,創建了壹個以RuntimeError為基類的類,用於在觸發異常時輸出更多信息。

在try語句塊中,在用戶定義的異常之後執行except語句,變量e是用來創建Networkerror類的實例。

定義上述類後,可以觸發異常,如下所示:

來源|劇本之家原文鏈接:/article/47996.htm