當程式檔案中有錯誤是,直譯器就不能繼續執行**,會給出錯誤提示
1.1、異常的語法:
try:
可能發生錯誤的**塊
except 異常型別:
出現異常執行的**
2.1、異常的體驗
try:
name_file = open("aa.txt", 'w+')
name_file.close()
except:
print("這裡有問題,程式執行不成功")
2.3、異常的型別
型別不同,報錯不同
2.1、捕獲指定異常 :確定報錯型別
try:
可能發生錯誤的**塊
except 異常型別:
出現異常執行的**
一般try下方脂肪一行嘗試執行的**
如果嘗試執行**的異常型別和要捕獲的異常型別不一致,則無法捕獲異常
2.2、捕獲多個指定異常 :不確定出現異常型別的時候
:把異常型別的名字放到except後,使用元組的方式進行書寫
try:
可能發生錯誤的**塊
except (異常型別1,異常型別1):
出現異常執行的**
try:
可能發生錯誤的**塊
except (異常型別1,異常型別1) as result:
print(result) # 可以列印異常報錯資訊
2.2、捕獲所有異常:
exception是所有程式異常類的父類
try:
可能發生錯誤的**塊
except exception as result:
print(result) # 可以列印異常報錯資訊
else:表示沒有異常要執行的**塊
try:
print(「執行的**塊」)
except 異常型別:
print(「出現異常執行的**塊」)
else:
print(「沒有異常執行的**塊」)
finally:無論有無異常執行的**塊
try:
print(「執行的**塊」)
except 異常型別:
print(「出現異常執行的**塊」)
else:
print(「沒有異常執行的**塊」)
finally:
print(「無論有無異常執行的**塊」)
拋出自定義異常的語法為 raise 異常類物件
自定義異常:將不滿足程式邏輯要求的**,捕獲異常,然後丟擲異常
先定義,後丟擲,最後捕獲
語法:class 類名(exception):
異常物件初始化
異常物件的描述資訊`在這裡插入**片
# 自定義異常
# 自定義異常繼承exception
class
yi_chang
(exception)
:def
__init__
(self, name_type)
: self.name_type =
type
(name_type)
def__str__
(self)
:return f'您輸入的異常物件型別不能是:'
defmain()
: name_list =[1
,2,3
] name_str =
'1,2,3'
try:
if yi_chang(name_str)
.name_type ==
type
(list()
):raise yi_chang(name_str)
except exception as result:
print
(result)
else
:print
("正常執行完成"
)# e_name = yi_chang(name_list)
# print(type(e_name))
# print(e_name.name_type)
main(
)
python入門之異常
1.1 異常是由於程式的錯誤或人為丟擲的錯誤的定義 1.2 異常可以分為兩大類 系統異常和主動丟擲的異常 例如 raise exception 丟擲異常了 3.1 所有的自定義異常都繼承exception類。例如 class myexception exception pass 4.1 異常捕捉中的...
Python入門 異常處理
第二部分 異常的處理 2.2 try except else 2.3 try except finally s 1.3 n int s int 只能傳入整型,此處傳入了浮點型ls 1 2,3 ls 5 1 3 只能是字串與字串相加 或者數字與數字相加,不能混用x 10y 0try z x y exc...
c 入門學習 異常
1.異常 1.1 異常的丟擲 異常丟擲使用throw關鍵字,使用語法為 throw 異常 異常是個物件,如int i 1 throw i等。也可以自定義乙個異常類,在必要的時候丟擲該異常類的例項 class myexception throw myexception 這裡不能使用throw myex...