Indicates that an exceptional condition/problem has occurred within the application's domain logic.
Throwing this exception is equivalent to calling {@link DomainObjectContainer#raiseError(String)}. The framework will trap the error and display the exception message as a warning.
This exception should only be thrown for "recoverable" exceptions, that is, those which could be anticipated by the application. It should not be thrown for fatal, unanticipated exceptions.
The framework attempts to apply some heuristics; if the underlying Isis transaction has been aborted (for example as the result of a problem persisting some data) but then the application attempts to throw this exception, the exception will be promoted to a fatal exception.
Note that this exception has identical semantics to {@link ApplicationException} (of which it is the immediatesuperclass), and can be considered a synonym.
@see ApplicationException
@see NonRecoverableException
@see FatalException