小糖果python基礎之異常

2021-10-11 01:14:50 字數 1980 閱讀 5944

就是在程式執行過程中不可避免的出現一些錯誤,如變數未定義、索引越界等。

程式中一旦出現異常會導致程式執行終止。即異常後的**不會執行。

程式出現異常的時候並不是讓我們的程式直接終止。python希望在出現異常的時候,希望我們編寫相應的**來書寫。

try語句:

try:

**塊(可能出現的錯誤語句)

except:

**塊(出現錯誤後處理的方式)

else:

**塊(沒有出錯時需要執行的語句)

案例

print

('哈哈')

try:

print(10

/0)#該地方可能出錯

except

:print

('真的出錯了'

)else

:print

('沒有出錯'

)print

('嘻嘻')哈哈

真的出錯了

嘻嘻

當在函式**現異常時,如果在函式中對異常進行了處理,則異常不會在進行傳播。如果函式中沒有對異常進行處理,則異常會繼續向函式呼叫傳播。如果函式呼叫處處理了異常,則不再傳播異常,如果沒有處理則繼續向呼叫處傳播。直到傳遞到全域性作用域(主模組)如果依然沒有處理,則程式終止,並顯示異常資訊

當程式執行過程中,出現異常以後,所有的異常資訊會儲存到乙個專門的異常物件當中,而異常傳播時,實際上市異常的物件拋給了呼叫處。

-(1) except 後面不跟任何內容,則此時它會捕獲所有異常

except 後面不跟任何內容,則此時它會捕獲所有異常
print

('哈哈')

try:

print

(a)print(10

/0)#該地方可能出錯

except

:print

('真的出錯了'

)else

:print

('沒有出錯'

)print

('嘻嘻')哈哈

真的出錯了

嘻嘻

如果需要顯示具體的乙個異常,則需要在except後面跟異常物件。

```python

print

('哈哈')

try:

print

(a)print(10

/0)#該地方可能出錯,屬於zerodivisionerror異常

except nameerror:

print

('出現nameerror異常'

)except zerodivisionerror:

print

('出現zerodivisionerror異常'

)print

('嘻嘻')哈哈

出現zerodivisionerror異常

嘻嘻

except exception  as e

print

('出現遺產',e,type

(e))

print

('異常出現'

)

try語句:

try:

**塊(可能出現的**塊)

except 異常型別 as 異常名:

**塊(出錯錯誤之後的處理方式)

except 異常型別 as 異常名:

**塊(出錯錯誤之後的處理方式)..

....

....

....

..else:

**塊(沒有出錯執行的**塊)

finally

: **塊(不管有沒有出錯,該**塊總會執行)

python基礎之異常

語法 try 嘗試執行的 except 出現錯誤的處理 try 嘗試執行的 except 錯誤型別1 針對錯誤型別1,對應的 處理 except 錯誤型別2,錯誤型別3 針對錯誤型別2和3,對應的 處理 except exception as result print 未知錯誤 s result e...

python基礎之異常

print hello try try中放置的是有可能出現錯誤的 print 10 0 except except中放置的是出錯以後的處理防暑 print 哈哈哈,出錯了 else print 程式正常執行沒有錯誤 print 你好 print 10 0 def fn print hello fn ...

Python基礎之異常

異常是程式執行時發生錯誤的訊號,每當發生讓python不知所措的錯誤時,都會建立乙個建立乙個異常物件。若異常未處理,程式將停止執行,並顯示乙個traceback n elk n 儲存的是 elk 再將它轉換成int時,將丟擲乙個異常 int n 以下為執行結果 attributeerror 試圖訪問...