1. ホーム
  2. java

[解決済み] Javaでスタックトレースを失うことなく例外を再投入する

2022-03-21 11:53:03

質問

C#では throw; ステートメントを使用すると、スタックトレースを保持したまま例外を再スローすることができます。

try
{
   ...
}
catch (Exception e)
{
   if (e is FooException)
     throw;
}

Javaでこんなのあるんですか( 元のスタックトレースを失わない )?

どのように解決するのですか?

catch (WhateverException e) {
    throw e;
}

は、キャッチした例外を単に再スローします (明らかに、周囲のメソッドはそのシグネチャなどでこれを許可していなければなりません)。例外は元のスタックトレースを維持します。