Если у вас возникли проблемы с 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()
}
Пожалуйста, не предлагают использовать попытаться/поймать, это то, что я могу думать о себе :)
P S: Я новичок в Groovy, так что не хватало некоторых очевидных вещей.
Это будет работать на меня. Спасибо! – Stas