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 © 2018. All rights reserved.