Groovy way to see if thread execution had errors
I had to write a script that did something and for a faster run I decided to use threads. I needed to start a thread to do some task and then to be able to check that it had finished without an error/exception. In Java if the code executed in a new thread throws an error, it doesn't matter that much, it just executes the next instruction after thread.join(). Some solutions found on the internet were to put all the code inside the thread in a try-catch block and in the catch block populate a map with the thread name and status. Then you could get the status by querying statusMap[threadName] add a status status field to your class witch is a subclass of Thread. Then you do the same thing as above and in the catch block modify the status to failed (status is successfull in the begining). You get get the status by thread.status Luckily in groovy we have dynamic object behaviour. So my solution is to add a new field to the Thread class, and use Thread.setDefaultUncaughtException