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

Reply via email to