PYTHON學習第N天

2021-09-29 04:51:01 字數 2742 閱讀 2332

try - except 語句

try

: 檢測範圍

except exception[

as reason]

: 出現異常後的處理**

try 語句按照如下方式工作:首先,執行try子句(在關鍵字try和關鍵字except之間的語句)如果沒有異常發生,忽略except子句,try子句執行後結束。如果在執行try子句的過程中發生了異常,那麼try子句餘下的部分將被忽略。如果異常的型別和except之後的名稱相符,那麼對應的except子句將被執行。最後執行try語句之後的**。如果乙個異常沒有與任何的except匹配,那麼這個異常將會傳遞給上層的try中。

try

: f =

open

('test.txt'

)print

(f.read())

f.close(

)except oserror:

print

('開啟檔案出錯'

)

try

: f =

open

('test.txt'

)print

(f.read())

f.close(

)except oserror as error:

print

('開啟檔案出錯\n原因是:'

+str

(error)

)

乙個try語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有乙個分支會被執行。

try

:int

("abc"

) s =1+

'1' f =

open

('test.txt'

)print

(f.read())

f.close(

)except oserror as error:

print

('開啟檔案出錯\n原因是:'

+str

(error)

)except typeerror as error:

print

('型別出錯\n原因是:'

+str

(error)

)except valueerror as error:

print

('數值出錯\n原因是:'

+str

(error)

)

乙個 except 子句可以同時處理多個異常,這些異常將被放在乙個括號裡成為乙個元組。

try

:int

("abc"

) s =1+

'1' f =

open

('test.txt'

)print

(f.read())

f.close(

)except

(oserror, typeerror, valueerror)

as error:

print

('出錯了!\n原因是:'

+str

(error)

)

try - except - finally 語句

try

: 檢測範圍

except exception[

as reason]

: 出現異常後的處理**

finally

: 無論如何都會被執行的**

不管try子句裡面有沒有發生異常,finally子句都會執行。如果乙個異常在try子句裡被丟擲,而又沒有任何的except把它截住,那麼這個異常會在finally子句執行後被丟擲。

def

divide

(x, y)

:try

: result = x / y

print

("result is"

, result)

except zerodivisionerror:

print

("division by zero!"

)finally

:print

("executing finally clause"

)divide(2,

1)# result is 2.0

# executing finally clause

divide(2,

0)# division by zero!

# executing finally clause

divide(

"2",

"1")

# executing finally clause

# typeerror: unsupported operand type(s) for /: 'str' and 'str'

raise語句python 使用raise語句丟擲乙個指定的異常。

try

:raise nameerror(

'hithere'

)except nameerror:

print

('an exception flew by!'

)# an exception flew by!

參考文獻

PYTHON學習第N天

字典 序列是以連續的整數為索引,與此不同的是,字典以 關鍵字 為索引,關鍵字可以是任意不可變型別,通常用字串或數值。字典是 python 唯一的乙個 對映型別,字串 元組 列表屬於序列型別。那麼如何快速判斷乙個資料型別 x 是不是可變型別的呢?兩種方法 麻煩方法 用 id x 函式,對 x 進行某種...

python第25天 學習python第25天

今天是在尚學堂學習python第25天今天學習了使用者管理,許可權管理 使用者管理 1.使用者的登入與退出 語法 mysql h hostname p port u username p dbname e h hostname 指定要連線mysql的主機名或者ip hostname就是具體的主機名或...

python學習第7天

崔鑫陽 2019.225 課堂檢測題 輸入兩個數 求出他們之間所有的素數 把這些素數放在 乙個列表裡 求這個列表裡素數的和 以及 最大值 和最小值 寫到乙個 裡 num 1 int input 輸入第乙個數 num 2 int input 輸入第二個數 if num 1 num 2 turn num...