私は、他の人がオプティマイザのさまざまな実装をプラグインできるようにするフレームワークを開発しました。これらのオプティマイザーは非同期で実行されます。オプティマイザーの実行を監視するために、非同期コード内で前後に実行するリスナーをアタッチしました。例えば:
public void async(Optimizer o){
runListeners(o);
o.run();
runListeners(o);
}
私の問題は、怠惰なプログラマーがコード内に some をスローしNullPointerExceptions
、メソッドがリスナーを2回目に実行できないようにしていることです。捕まえようと思っRuntimeException
たけど、これはまずい気がする。