4

重複の可能性:
finally ブロックで例外をスローする

  • catch ブロックは、try ブロックで例外がスローされた場合にのみ実行されます。

  • 例外がスローされたかどうかにかかわらず、finally ブロックは常に try(-catch) ブロックの後に実行されます。

私の質問は、それを処理する方法よりも、最終ブロックで例外が発生した場合です?????

4

2 に答える 2

7

これは、Java 言語仕様におけるよく知られた問題/落とし穴であり、finally 句内で (ネストされた try-catch で処理せずに) 例外がスローされた場合、元の例外が失われるという意味です。新しい例外をキャッチしてそこで処理するには、新しい try-catch をネストする必要があります。

于 2012-08-22T15:02:25.333 に答える
3

最終ブロックで例外を処理する必要があります

お気に入り

finally{
    try
    {
       ///
    }
    catch(Exception e)
    {
      ///  
    }
}
于 2012-08-22T15:04:46.807 に答える