-1

例外が発生し、catch ブロックでキャッチされているが、スローされていない場合。フレームワークが例外があることを知る方法はありますか?

背景(理由):以前のプロジェクトを作り直して、例外プロセスを追加する必要があります。ただし、多くの例外はスローされません。

どうもありがとう!

//for example
private void handle() {
    try{
        int i = 5/0;
    }catch(Throwable e){
        ;//here the e is not throwed
    }
}
4

1 に答える 1

1

これはおそらく達成可能ですが、ハッキングなしでは実現できません。たとえば、AspectJ を使用してThrowable、例外のインスタンス化のイベントを登録するコードをコンストラクターに通知できます。これは、実際にそれらを投げることと同じではありませんが、適切な概算です。このアプローチの主な利点は、介入する場所が 1 つしかないことです。

JDK自体を含む多くの場所で例外が合法的にスローされ、ローカルでキャッチされるため、このアプローチでは間違いなく多くのノイズが発生することに注意してください。

于 2013-05-23T09:50:24.350 に答える