用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...