我開發了一個框架,允許其他人插入不同的優化器實現。這些優化器是異步運行的,我已經在異步代碼之前和之後附加了偵聽器,以監視優化器的執行情況。例如:在第三方代碼中捕獲運行時異常
public void async(Optimizer o){
runListeners(o);
o.run();
runListeners(o);
}
我的問題是一些懶惰程序員投擲一些NullPointerExceptions
其代碼內並防止該方法從執行偵聽器的第二次。我想過要趕上RuntimeException
,但這對我來說感覺不對。
如果你想抓住所有,只需要捕獲所有'Throwable'或者至少'Exception'。在你的程序的最高/調度/運行級別沒有錯。 –
我正在嘗試不導致JVM行爲不端。就好像有一個OutOfHeapspace或其他一些非常糟糕的錯誤。 – babsher