pyhton拋出自定義的異常

2022-08-10 10:42:24 字數 1113 閱讀 5607

用raise語句來引發乙個異常。異常/錯誤物件必須有乙個名字,且它們應是error或exception類的子類

下面是乙個引發異常的例子:

class

shortinputexception(exception):

'''自定義的異常類

'''def

__init__

(self, length, atleast):

#super().__init__()

self.length =length

self.atleast =atleast

defmain():

try:

s = input('

請輸入 --> ')

if len(s) < 3:

#raise引發乙個你定義的異常

raise shortinputexception(len(s), 3)

except shortinputexception as result:#

x這個變數被繫結到了錯誤的例項

print('

shortinputexception: 輸入的長度是 %d,長度至少應是 %d

'%(result.length, result.atleast))

else

:

print('

沒有異常發生.')

main()

執行結果如下:

注意以上程式中,關於**#super().__init__()的說明

這一行**,可以呼叫也可以不呼叫,建議呼叫,因為__init__方法往往是用來對建立完的物件進行初始化工作,如果在子類中重寫了父類的__init__方法,即意味著父類中的很多初始化工作沒有做,這樣就不保證程式的穩定了,所以在以後的開發中,如果重寫了父類的__init__方法,最好是先呼叫父類的這個方法,然後再新增自己的功能

自定義異常:

丟擲異常:

PLSQL異常處理及拋出自定義異常

declare i number em emp rowtype begin i 8 0 i aaaa select into em from emp select into em from emp where empno 1234567 exception when zero divid e the...

丟擲異常 自定義異常

1 try catch try catch是這之間所包含的 如果出現異常時捕獲他,並進行處理的,如果 之間有錯誤,不會影響程式繼續執行下去,程式會繼續往後執行。2 throw 是在程式中明確丟擲引發的異常,比如throw new exception 3 finally 不管有沒有異常程式段中都會被執...

如何丟擲異常,自定義異常

定義乙個方法,丟擲 陣列越界和算術異常 多個異常 用 隔開 public void test1 int x throws arrayindexoutofbound ception,arithmeticexception 資料越界異常 else if x 1 算術異常 else if x 2 publ...