"除數不能為零")
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存在,編碼不了解的話容易出現...