traitControlThrowable extends Throwable with NoStackTrace
A marker trait indicating that the Throwable it is mixed into is
intended for flow control.
Note that Throwable subclasses which extend this trait may extend any
other Throwable subclass (eg. RuntimeException) and are not required
to extend Throwable directly.
Instances of Throwable subclasses marked in this way should not normally
be caught. Where catch-all behaviour is required ControlThrowable
should be propagated, for example:
import scala.util.control.ControlThrowable
try {
// Body might throw arbitrarily
} catch {
case c: ControlThrowable =>throw c // propagatecase t: Exception => log(t) // log and suppress
}
Linear Supertypes
NoStackTrace, Throwable, Serializable, AnyRef, Any
A marker trait indicating that the
Throwable
it is mixed into is intended for flow control.Note that
Throwable
subclasses which extend this trait may extend any otherThrowable
subclass (eg.RuntimeException
) and are not required to extendThrowable
directly.Instances of
Throwable
subclasses marked in this way should not normally be caught. Where catch-all behaviour is requiredControlThrowable
should be propagated, for example: