2012-12-29 25 views
0

可能重複:
Is there a way to throw an exception without adding the throws declaration?如何重新引發異常?

我不知道是否有封裝Exception並重新拋出它在另一個Exception方法時已經定義並沒有throws條款的方式。

一個例子(與JMS onMessage法):

public void onMessage(Message message) { 

    if(message instanceof ObjectMessage){ 

     ObjectMessage objectMessage = (ObjectMessage)message; 

     try { 
      Object object = objectMessage.getObject(); 
     } catch (JMSException e) { 
      throw new CustomException("blah blah", e); // ERROR HERE : Unhandled exception type CustomException 
     } 

    } 

} 

所以,我怎麼能和封裝在我的代碼派遣CustomException好嗎?有沒有辦法?謝謝

+0

是的。對不起 –

回答

4

您需要使用RuntimeException的子類。

+0

我會這樣做的。謝謝 –

3

如果一個方法沒有聲明任何異常,唯一的辦法是拋出一個異常,它的子類爲RuntimeException

在你的情況下CustomException應該延伸RuntimeException

Oracle關於例外的一點理論。