1

をキャッチしてMalformedURLExceptionいますが、スタック トレースに不正な URL を含めたいと考えています。

メソッドgetMessage()getLocalisedMessage()URL 全体が表示されないため、try ブロックで宣言された URL を参照できず、ブロックの外側で変数を初期化すると、URL が初期化されない可能性があることを示すエラーが表示されます。

try ブロックからハンドラーに URL を渡す方法があるかどうか疑問に思っています。

4

2 に答える 2

3

URLtry ブロックの外側を宣言すると、それが初期化されますnull

于 2013-12-24T14:46:40.563 に答える
2

あなたのコードがこのようなものであると仮定します

try {
      throw new MalformedURLException("message");
} catch (MalformedURLException e) {
      e.getStackTrace();
      e.getCause(); // in this case e.getCause() == e
      e.getMessage();
}

catch ブロックでは、スタック トレース、メッセージ、および例外にのみアクセスできます。

e.getMessage() に完全な URL が含まれている場合、完全な URL にアクセスできます。それ以外の場合は解決策がなく、例外をスローするコードに取り組む必要があります。

于 2013-12-24T14:42:35.467 に答える