Python基礎 異常

2022-09-17 21:00:18 字數 1488 閱讀 2915

1.try-except**塊

try:

print(5/0)

except zerodivisionerror:

print("you can't divide by zero!")

異常是使用try-except**塊處理的。try-except**塊讓python執行指定的操作,同時告訴python發生異常是怎麼辦。使用try-except**塊時,即使出現異常,程式也能繼續執行。

2.else**塊

print("please give me two numbers")

print("i'll divide them")

while true:

a=input("please input a number:")

if a == 'q':

break

b=input("please input another number:")

try:

answer=int(a)/int(b)

except zerodivisionerror:

print("b 不能為0")

else:

print(answer)

我們讓python嘗試執行try**塊中的除法運算,這個**塊只包含可能導致錯誤的**。依賴於try**塊成功執行的**都放在else**塊中:在這個事例中,如果除法運算成功,我們就使用else**塊來列印結果。

3.如果在程式異常時不做任何提示,可使用pass語句。

try:

print(5/0)

except zerodivisionerror:

pass

4.儲存資料

def greet_user():

file_name='greet.json'

try:

with open(file_name) as file_object:

username=json.load(file_object)

except filenotfounderror:

username=input("please input you name:")

with open(file_name,'w') as file_object:

json.dump(username,file_object)

print("we'll remember you when you come back,"+username+"!")

else:

print("welcome back!"+username)

greet_user()

函式json.dump()接收兩個實參:要儲存的資料以及可用於儲存資料的檔案物件。

json.dump(username,file_object)

函式json.load()載入儲存在file_object中的資訊。

username=json.load(file_object)

python異常基礎

try後面至少要有一項,亦可以選擇 except else finally中的任意組合 assert語句一般用於開發時對程式條件的驗證,只有當內建 debug 為true時,assert語句才有效。當python指令碼以 o選項編譯成為位元組碼檔案時,assert 語句將被移除。except 帶引數...

Python基礎 異常

google c style中禁止使用異常。python中也有異常,就簡單分享一下。1 0就會產生異常。按自己的方式出錯 raise語句 raise exception traceback most recent all last 自定義異常類 class somecustomexception e...

python基礎 異常

處理異常的目的是保證程式在出現錯誤的時候,可以繼續執行下去,而不會立即終止 語法 try 塊 可能會出錯的語句 except 異常型別 as異常名 塊 出現錯誤的處理方式 except 異常型別 as 異常名 塊 出現錯誤的處理方式 else 塊 沒有錯誤時執行的語句 finally 塊 是否有異常...