私は次のコードを持っている:キャッチ例外、データを追加し、再スローそれ
try
{
OnInitialize();
}
catch (PageObjectLifecycleException exception)
{
exception.OldLifecycleState = CurrentLifecycleState;
exception.RequestedLifecycleState = LifecycleState.Initialized;
throw exception;
}
私はそれにいくつかのより多くのデータを追加し、それを再スロー、例外をキャッチします。 ReSharperのは、再スローがおそらく意図されていることを私に(正確に)警告し、それを変更することを提案する:
throw;
しかし、私は思ったんだけど:これは正しく修正例外または未元のものを再スローだろうか?
:「試してみてください」というコメントに対する回答:私はC++を使いこなしています。 C++では、このようなコーナーケースで未定義の動作が頻繁に発生することが多く、私が望むものが正式に動作するかどうかに関心があります。
はそれを試してみて、何が起こりますか? –
参照が指し示していることは何でも - あなたの場合は変更された "例外"を再スローします。 –