package compat
Type Members
-
abstract
class
ControlThrowable extends Throwable with control.ControlThrowable
A parent class for throwable objects intended for flow control.
A parent class for throwable objects intended for flow control.
Instances of
ControlThrowableshould not normally be caught.As a convenience,
NonFataldoes not matchControlThrowable.import scala.util.control.{Breaks, NonFatal}, Breaks.{break, breakable} breakable { for (v <- values) { try { if (p(v)) break else ??? } catch { case NonFatal(t) => log(t) // can't catch a break } } }
Suppression is disabled, because flow control should not suppress an exceptional condition. Stack traces are also disabled, allowing instances of
ControlThrowableto be safely reused.Instances of
ControlThrowableshould not normally have a cause. Legacy subclasses may set a cause usinginitCause.- Note
this compat class exists so that instances of
ControlThrowablecan be created using the same API and with the same suppression and stack trace writability semantics across versions.