public class SULException extends RuntimeException
SUL
to wrap any exceptions that occur during the
SUL.step(Object)
methods.
Rationale for being unchecked: Implementors of a learning or equivalence checking
algorithm that directly operates on the SUL level usually have no sensible way of
dealing with such an exception (comparable to when
MembershipOracle.processQueries(java.util.Collection)
throws a runtime exception).
However, it may be of interest to some components, like for instance a mapper that
maps exceptions to special output symbols.
Caveat: When implementing your SUL.step(Object)
method,
never ever catch exceptions with a catch(Throwable)
statement!
This would also catch internal VM-related errors such as StackOverflowError
or OutOfMemoryError
. Only ever catch Exception
and any user-created
subclasses of Throwable
that apply.
Constructor and Description |
---|
SULException(Throwable cause)
Creates a SULException wrapped around a
Throwable . |
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Copyright © 2015. All rights reserved.