This question should be asked in us...@groovy.apache.org And the answer to the question must be, no. But you could check if
} catch (exception) { if(exception instance MySpecialException) throw exception println "bar caught $exception" } Best regards, Søren Berg Glasius Hedevej 1, Gl. Rye, 8680 Ry, Denmark Mobile: +45 40 44 91 88, Skype: sbglasius --- Press ESC once to quit - twice to save the changes. From: o...@ocs.cz <o...@ocs.cz> <o...@ocs.cz> Reply: dev@groovy.apache.org <dev@groovy.apache.org> <dev@groovy.apache.org> Date: 12. oktober 2016 at 18.24.20 To: dev@groovy.apache.org <dev@groovy.apache.org> <dev@groovy.apache.org> Subject: non-catchable exception? Hello there, is it possible to create an exception which will *not* be caught by a general handler, only by a specific one? So that e.g., the following code === class MySpecialException extends Exception { /* whatever magic needed here */ } ... def foo() { throw new MySpecialException() } def bar() { try { foo() } catch (exception) { println "bar caught $exception" } } static main(args) { try { bar() } catch (MySpecialException special) { println "special exception" } } === would print out "special exception" and *not* "bar caught..."? The reason is that the code I at the moment work with contains _lots_ of generic try/catch harnesses at different levels of code; they generally report the error caught and then go on processing the input. Now I would need a „special” exception which would not be caught by any of them, to abort the processing immediately. Adding a separate "catch (MySpecialException goup) { throw goup }" statement to each of all those already existing harnesses -- which would be, I guess, conceptually the right thing to do -- would be rather at the inconvenient side. Thanks, OC