- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- de.learnlib.exception.SULException
-
- All Implemented Interfaces:
Serializable
public class SULException extends RuntimeException
Unchecked exception class that can be used by implementors of aSUL
to wrap any exceptions that occur during theSUL.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 acatch(Throwable)
statement! This would also catch internal VM-related errors such asStackOverflowError
orOutOfMemoryError
. Only ever catchException
and any user-created subclasses ofThrowable
that apply.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SULException(@Nullable Throwable cause)
Creates a SULException wrapped around aThrowable
.
-
Method Summary
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
-