python14異常處理

2022-07-28 07:24:10 字數 3726 閱讀 1296

"除數不能為零")

except typeerror

aserr:

print(

"輸入數字")

print(err)

結果:

輸入數字

try:#加入新得try,防止檔案沒有被開啟而需要關閉所產生的異常

"""我的自定義異常

"""err_code = ""

err_msg = ""

def __init__(self, err_code=none, err_msg=none):

#111111如果存在則使用自己,要不就使用傳進來的引數

self.err_code = self.err_code if self.err_code else

err_code

self.err_msg = self.err_msg if self.err_msg else

err_msg

def __str__(self):

return

"error: -

".format(self.err_code,self.err_msg)

class

invalidctrlexec( apiexception):

err_code = "

4001

"err_msg = "

bbbbb

"class

bagexception(apiexception):

err_code = "

4002

"err_msg = "

quanzhiqiang

"def test_exec(num1,num2):

"""除法的實習

"""#兩個數必須為整數

if not isinstance(num1,int) or not isinstance(num2,int

): raise bagexception()#bagexception("88

","9999

")也是一樣的輸出,因為11111

if num2 == 0

: raise apiexception(

"40002

","ccccc")

return num1 /num2

if __name__ == "

__main__":

try:

rest = test_exec(5,"2"

)

""" 當為(5,0

)結果:處處哦

error:

40002 -ccccc

當為(5,」quan」)結果為:

quanqqqq

error:

4002 -quanzhiqiang

"""print(rest)

except bagexception

asb_err: #因為這個bagexception是apiexception的子類,捕獲小的再捕獲大範圍的

print(

"quanqqqq")

print(b_err)

except apiexception

aserr:

print(

"處處哦")

結果:ceshi

aaaaaaaaaaaaaaaa12

3456

78910

1112

1314

1516

1718

1988888888888888888

endend

因為異常是由原函式觸發,如果沒有捕獲,就會一層一層往呼叫函式傳遞

這裡在最外層捕獲,所以call_v_for裡面沒有 print(

"bbbbbbbbbbbbbbb

")

Python 14 慢查詢定義

前言 最近幫公司優化資料庫,憑著之前所學,一步一步地將學習知識用於實踐,總算是將速度蹭上去了,乙個原本要執行1分多鐘的查詢現在只需要3秒。現把自己所學所思及所用加以總結,一方面為自己鞏固知識,另一方面也給廣大同學以一點點參考。本套教程共十三講。在這系列的教程中,你將會學到 1.如何一步步地優化資料庫...

Python 之 內建方法(Python14)

rmul 左右兩個物件比較並做乘法 class foo def init self,val self.val val def rmul self,other return foo self.val other.val def str self return foo s self.val class ...

python 14 檔案操作

python中對檔案的讀寫也是非常方便的,本章節將講解讀 寫 讀寫等常用操作。下面講師必要的引數 1 檔案路徑 必須得知道檔案的路徑,不然怎樣進行讀寫?2 編碼方式 utf 8,gbk,gb2312.python3的str是unicode編碼儲存的,我們一般常用utf 8存在,編碼不了解的話容易出現...