0

重複の可能性:
throws 宣言を追加せずに例外をスローする方法はありますか?

メソッドが既に定義されていて句がない場合に、カプセル化Exceptionして別のメソッドに再スローする方法があるのだろうか。Exceptionthrows

例 (JMSonMessageメソッドを使用):

 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では、どうすれば自分のコードでカプセル化してディスパッチできますか? 方法はありますか?ありがとう

4

3 に答える 3

4

のサブクラスを使用する必要がありますRuntimeException

于 2012-12-29T14:43:39.677 に答える
3

メソッドが例外を宣言しない場合、唯一の方法は、 のサブクラスである例外をスローすることですRuntimeException

あなたの場合CustomExceptionは拡張する必要がありRuntimeExceptionます。

例外に関するオラクルのちょっとした理論。

于 2012-12-29T14:47:08.747 に答える
1

これは、CustomExceptionがチェックされていない例外(実行時例外)である場合に機能します。チェックされた例外とチェックされていない例外については、ここで読むことができます-Java :チェックされた例外とチェックされていない例外の説明

于 2012-12-29T14:49:20.243 に答える