Interface Exceptional<EXC extends Throwable>

Type Parameters:
EXC - the Throwable type

public interface Exceptional<EXC extends Throwable>
The Exceptional interface provides means for threads to wait (sleep) when calling catchException() till a next Exception occurs or till the waiting (sleeping) threads are released.

Usually only Exception instances are exposed which are occurring inside daemon threads and are usually hidden from the (business) logic. Such Exception instances usually just get logged, no customizable reaction upon such exceptions is possible. This interface enables to react to such Exception instances without the need to overwrite an abstract class's method and without requiring the implementation of an observable interface.

It depends on the implementation on how waiting (sleeping) threads are released, this can be established for example upon disposal by invoking Disposable#dispose() or destruction by invoking Destroyable#destroy().