1
Groovy出現問題時,如果未在腳本中引發未捕獲的異常,則需要在退出之前執行一些清理操作,但無法找到解決此問題的方法。Groovy腳本中的主線程異常處理程序
我試過 Thread.setDefaultUncaughtExceptionHandler,但似乎它不適用於主線程。然後,我有看堆棧跟蹤,這使我GroovyStarter,我發現一件漂亮的代碼,這意味着 Thread.setDefaultUncaughtExceptionHandler是不是真的這樣運作的:
public static void main(String args[]) {
try {
rootLoader(args);
} catch (Throwable t) {
t.printStackTrace();
}
}
貪圖例如,下面的是我想要的存檔(這不是可運行的腳本,只是爲了顯示的概念):
def process = new ProcessBuilder(command).redirectErrorStream(true).start();
onException = {
process.destroy()
}
請,不建議使用try/catch語句,這東西我能想到自己的:)
P S:我是Groovy的新手,所以可能會漏掉一些明顯的東西。
這對我很有用。謝謝! – Stas