我們知道使用try-except-finally語句可以處理異常,接下來我們介紹使用with語句處理與異常相關的工作
with語句支援建立資源,丟擲異常,釋放資源等操作,並且**簡潔。
with 上下文表示式 [as 資源物件]:
物件操作
說明:
上下文表示式返回乙個上下文管理物件
如果指定了as語句,該物件並不賦值給as子句中的資源物件,而是將上下文管理器的__enter__()方法的返回值賦值給了資源物件。
資源物件可以是單變數,也可以是元組。
with
open
("/test.txt")as
file
:for aline in
file
:print
(aline)
解釋說明:這段**使用with語句開啟檔案,如果順路開啟,則將檔案物件賦值給file,然後用for語句遍歷列印檔案的每一行。當檔案操作結束後,with語句關閉檔案。如果這段**執行過程中發生異常,with也會將檔案關閉。
try
:file
=open
("/test.txt"
)try
:for aline in
file
:print
(aline)
except exception as error:
print
(error)
finally
:file
.close(
)except filenotfounderror as err:
print
(err)
try
:with
open
("/test.txt")as
file
:for aline in
file
:print
(aline)
except exception as error:
print
(error)
通過對比可以發現:with語句在進行異常處理時**簡潔很多
不是所有的物件都可以使用with語句,只有支援上=上下文管理協議的物件才可以。目前支援上下文管理協議的物件如下:
異常處理語句
在程式的編寫過程中會出現各種錯誤,語法錯誤在程式啟動時就會檢測出來,它是程式正常執行的前提條件。程式中還有一種錯誤發生在程式執行後,可能是由於邏輯問題,又或者是業務發生了改變,為了能讓使用者有更好的體驗,加強 的健壯性,我們需要對這些錯誤進行處理,也叫異常處理。在python中不同的異常可以用不同的...
C 語句異常處理語句
1,try.catch.finally 不會找到邏輯錯誤,try裡面放檢測 catch 捕捉到的異常,怎樣處理finally不管有沒有異常都會執行 try catch finally 3種組合 2,finally 很頑強 return後仍然會執行 3,4,excption的用法 exception是...
python 異常處理語句
異常處理 2 try 3 try 4 num input 請輸入兩個數字以空格隔開!5 num num.split 6 print num 7 print sum num 8 except valueerror 9 print 程式執行 現了type的錯誤!10 else 11 print 如果沒報...