|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
com.waveset.exception.DebuggerControlFlowException
A special class of exceptions which don't imply any kind of actual error. In general this is considered bad practice, but in some cases it's the cleanest solution. This is thrown when executing a form in the form debugger when a breakpoint is reached and they click Stop. The general contract is that any code which encounters this kind of exception should rethrow it to the caller. Moreover, this exception should not be logged since it does not actually signify an error. It's up to the top-most caller (in this case the debugger) to catch this exception and do the right thing. Note that we intentially do not subclass WavesetException. This is for several reasons 1)We don't want the stack trace to be logged when this exception is thrown 2)WavesetException is a checked exception. Code shouldn't have to declare that it throws this type of exception otherwise every possible place which could be a debugger breakpoint will need to declare that it throws DebuggerControlFlowException 3)Lots of places already catch WavesetException and don't pass to caller. We always want this exception passed to the caller.
Constructor Summary | |
DebuggerControlFlowException()
|
Methods inherited from class java.lang.Throwable |
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public DebuggerControlFlowException()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |