python 異常處理之自定義乙個自己的異常

2021-10-04 02:53:04 字數 1632 閱讀 3265

**python 異常處理之自定義乙個自己的異常**

# -*- coding:utf-8 -*-

#異常處理:必須要有try和乙個except(可以有多個)

# else(如果except語句都沒有執行,才會執行) 可選**

# finally(不管結果怎麼樣最後都會執行) 可選

# 結構:

try:

number = int(input('請輸入數字:'))

except valueerror as er:

print('輸入值異常',er)

except nameerror as er:

print('輸入異常',er)

except:

print('未知錯誤')

else:

print('沒有錯誤!')

finally:

print('end')

#----------^-^我是分割線^-^----------------

class myexcept1(exception): ##自定義乙個異常,繼承了exception

def __init__(self,value):

self.value = value

def __str__(self): ##返回列印資訊

return self.value

class myexcept2(exception): ##自定義乙個異常,繼承了exception

def __init__(self,value):

self.value = value

def __str__(self):

return self.value

#建立乙個bank類

class bank(object):

def __init__(self):

self.blance = 500 ##金額大小

def withdrawal(self,number): ##定義判斷方法

if self.blance < number: ##如果要取的錢大於你的金額

raise myexcept1('你沒那麼多錢!!') ###丟擲異常,並給出提示資訊

elif number < 0: ##如果要取的錢為負數

raise myexcept2('取款不能為負數 ! !') ###丟擲異常,並給出提示資訊

self.blance -= number ###正常取錢的情況

return self.blance ###返回剩下的金額

# eg:取錢例項

my = bank()

num = int(input('請輸入取款金額:'))

try:

money=my.withdrawal(num)

print('你還剩餘:',money)

except myexcept1 as i:

print(i)

except myexcept2 as u:

print(u)

————————————————

python之自定義異常

異常的原理 try print num 直譯器執行 時,一旦發現錯誤,會根據錯誤型別自動建立乙個異常物件並且傳遞該異常物件 手動建立異常物件並且傳遞 丟擲 raise nameerror num未命名 except nameerror as error as error 就是將 捕獲到的異常物件 賦...

異常處理 自定義異常

異常 1.定義 執行時檢測到的錯誤。2.現象 當異常發生時,程式不會再向下執行,而轉到函式的呼叫語句。3.常見異常型別 名稱異常 nameerror 變數未定義。型別異常 typeerror 不同型別資料進行運算。索引異常 indexerror 超出索引範圍。屬性異常 attributeerror ...

自定義異常處理

自定義異常處理類 using system using system.diagnostics 日誌記錄類 using system using system.configuration using system.diagnostics using system.io using system.tex...