Python高階 異常處理

2021-10-04 07:15:23 字數 2076 閱讀 7051

try/except從句。

將可能觸發異常產生的**放到try模組裡,而處理異常的**會在except語句塊裡實現。如:

try

: file=

open

('test.txt'

,'rb'

)except ioerror as e:

print

('an ioerror occured. {}'

.format

(e.args[-1

]))輸出:

an ioerror occured. no such file or directory

try

: file=

open

('test.txt'

,'rb'

)except (ioerror,eoferror) as e:

print

('an ioerror occured. {}'

.format

(e.args[-1

]))

或者:

try

: file=

open

('test.txt'

,'rb'

)except eoferror as e:

print

('an ioerror occured. {}'

.format

(e.args[-1

])) raise e

except ioerror as e:

print

('an ioerror occured. {}'

.format

(e.args[-1

])) raise e

try

: file=

open

('test.txt'

,'rb'

)except exception:

#列印一些異常日日誌

raise

在上面異常處理語句中,有try從句和except從句,我們還會使用第三個從句就是finally從句。在finally從句中的**不管異常是否觸發都將會被執行。可以被用來在指令碼結束執行後做清理工作。

比如:

try

: file=

open

('test.txt'

,'rb'

)except ioerror as e:

print

('an ioerror occured. {}'

.format

(e.args[-1

]))finally:

print

("this would be printed whether or not an error"

) 輸出:

an ioerror occured. no such file or directory

this would be printed whether or

not an error

如果在異常處理語句中,想讓一些**在沒有觸發異常的情況下執行,就要使用else從句了,為啥不直接把執行**放try裡呢,是因為如果放在try裡這段**的任何異常也會被try捕獲。

比如:

try

:print

('i am sure no error'

)except:

print

('exception'

)else

:print

("this would be printed if no error"

)finally:

print

("this would be printed every case"

)輸出:

i am sure no error

this would be printed if no error

this would be printed every case

python高階(異常處理)

python程式一旦發生錯誤,就從錯誤的位置停下來了,不會執行後面的內容。a 未定義的變數,nameerror print 我不會執行 該 不會執行 except nameerror try語句 異常 且 錯誤符合時執行 print 語法錯誤 else print try裡面 沒有錯誤時執行。pri...

Python高階 異常處理

就是不正常的情況,程式開發過程中錯誤和bug都是補充正常的情況 引發程式崩潰 try except 異常捕獲處理 try 1 可能發生異常的 except 2 發現異常後,立刻進入except,執行 2 else 3 程式正常執行進入這一行執行 finally 4 出現finally程式必定執行次行...

Python高階 異常處理

1.異常的定義 異常是錯誤發生的訊號,程式一旦出錯就會丟擲錯誤資訊,如果不及時處理就會程式就會隨之停止執行 異常有三部分組成 1 異常型別 2 異常追蹤 3 異常的值 2.異常的分類 1 語法錯誤 無法通過python直譯器解釋的語法 2 邏輯錯誤 3.異常的種類 attributeerror 訪問...