2013-04-06 89 views
1

我想在類的聲明中拋出異常。類似這樣的:在類聲明中拋出異常

class myClass throws A_Dangerous_Exception implements Something_to_Implement { 

... 

} 

有什麼建議嗎?

回答

2

你不能。異常只能從方法或構造函數中拋出。你可以這樣做:

class myClass implements Something_to_Implement { 

    public myClass() throws A_Dangerous_Exception { 
     ... 
    } 
} 

從構造函數拋出異常之前要小心收拾任何資源,如FileOutputStream

閱讀:Exceptions

4

你不能做到這一點。你大概的意思是扔從類異常的構造函數:

class myClass implements Something_to_Implement { 
    myClass() throws A_Dangerous_Exception {} 
} 

如果你有多個構造函數,每個人都可以有不同的throws條款,如果你想:

class myClass implements Something_to_Implement { 
    myClass() throws A_Dangerous_Exception {} 
    myClass(int a) throws A_Dangerous_Exception, A_Not_So_Dangerous_Exception {} 
} 

之後,當實例那麼您將必須處理您的例外情況,或者通過捕獲它們或將其聲明在您實例化類的方法的throws子句中:

void myMethod() { 
    try { 
    new myClass(); 
    } catch (A_Dangerous_Exception e) {} 
} 

void myMethod() throws A_Dangerous_Exception { 
    new myClass(); 
} 
+1

謝謝!這真的有幫助,我需要一個提醒 – 0101011 2013-04-06 02:23:20