異常處理的使用

2022-09-03 03:27:09 字數 2257 閱讀 5688

try:

這裡放可能出現異常的**

except 異常的型別:

當異常發生時並且與異常型別匹配

執行except中的**

注意:一旦try中**丟擲異常,後面的**全部不執行

基本語法:

print("

之前的**")

try:

class

foo:

pass

f1 =foo()

f1.x

except

attributeerror:

print("

屬性不存在")

print("

之後的**

面對**段中可能有多種異常,單一異常並不能接住異常,所以可以使用多種異常處理的機制。

print("

staring.....")

try:

#name

[-1]

pass

except

nameerror:

print("

名字找不到!")

except

indexerror:

print("

索引超出範圍")

上面的多種異常接受也可寫成:

print("

staring.....")

try:

#name

[-1]

pass

except

(nameerror,indexerror):

print("

名字找不到! 或者 索引超出範圍")

同時異常也是個特殊的型別,那麼就有萬能異常型別exception或者baseexception  這也是一種基於oop的繼承和多型。

print("

staring.....")

try:

#{}["aaa"]

#name

#[-1]

1/0except

exception:

print("

可能名字找不到! 可能所以超出範圍 可能除數為0")

print("

end.......

")

其他語法

try

:

#1/0

#[2]

pass

except

exception:

print("

丟擲異常")

else:#

當**沒有異常丟擲,才會執行

print("

**中沒有異常

")

try

:

#1/0

#[2]

pass

except

exception:

print("

丟擲異常")

else:#

當**沒有異常丟擲,才會執行

print("

**中沒有異常")

finally

:

print("

無論是否有異常,都會執行

")

finally:主要用於**檢驗異常**的系統資源

try

: f = open(r"

d:\上海python全棧4期\day31\異常處理\1今日內容

","rt

",encoding="

utf-8")

f.read()

#f.write("123")

except

exception:

print("

發生異常了")

finally

:

print("

關閉檔案!")

f.close()

系統對異常的處理使用統一的異常處理流程

系統對異常的處理使用統一的異常處理流程。1 自定義異常型別。2 自定義錯誤 及錯誤資訊。3 對於可預知的異常由程式設計師在 中主動拋出自定義異常型別的異常,丟擲異常時需要指定錯誤 4 對於不可預知的異常 執行時異常 由springmvc統一捕獲exception型別的異常,由統一的異常捕獲類來解析 ...

C 異常處理 使用throw引發異常

c 提供了throw語句來引發異常。使用throw語句既可以引發系統異常,也可以引發自定義異常。使用throw語句丟擲異常的語法如下 throw exobject exobject 所要丟擲的異常物件,這個異常物件是派生自system.exception類的類物件。例項 如下 using syste...

C 異常處理 使用throw引發異常

c 提供了throw語句來引發異常。使用throw語句既可以引發系統異常,也可以引發自定義異常。使用throw語句丟擲異常的語法如下 throw exobject exobject 所要丟擲的異常物件,這個異常物件是派生自system.exception類的類物件。例項 如下 using syste...