scala.util.control

trait ControlException

[source: scala/util/control/ControlException.scala]

trait ControlException
extends 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 ControlExceptions should be propagated, for example,

  import scala.util.control.ControlException

  try {
    // Body might throw arbitrarily
 } catch {
   case ce : ControlException => throw ce // propagate
   case t : Exception => log(t)           // log and suppress
 
Author
Miles Sabin
Direct Known Subclasses:
NonLocalReturnException

Methods inherited from NoStackTrace
fillInStackTrace
Methods inherited from java.lang.Throwable
java.lang.Throwable.getMessage, java.lang.Throwable.getLocalizedMessage, java.lang.Throwable.getCause, java.lang.Throwable.initCause, java.lang.Throwable.toString, java.lang.Throwable.printStackTrace, java.lang.Throwable.printStackTrace, java.lang.Throwable.printStackTrace, java.lang.Throwable.getStackTrace, java.lang.Throwable.setStackTrace
Methods inherited from AnyRef
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf