Packages

c

scala.util.control

ControlThrowable

abstract class ControlThrowable extends Throwable

A parent class for throwable objects intended for flow control.

Instances of ControlThrowable should not normally be caught.

As a convenience, NonFatal does not match ControlThrowable.

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 ControlThrowable to be safely reused.

Instances of ControlThrowable should not normally have a cause. Legacy subclasses may set a cause using initCause.

Source
ControlThrowable.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ControlThrowable
  2. Throwable
  3. Serializable
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ControlThrowable()
  2. new ControlThrowable(message: String)

Value Members

  1. final def addSuppressed(arg0: java.lang.Throwable): Unit
    Definition Classes
    Throwable
  2. def fillInStackTrace(): java.lang.Throwable
    Definition Classes
    Throwable
  3. def getCause(): java.lang.Throwable
    Definition Classes
    Throwable
  4. def getLocalizedMessage(): String
    Definition Classes
    Throwable
  5. def getMessage(): String
    Definition Classes
    Throwable
  6. def getStackTrace(): Array[StackTraceElement]
    Definition Classes
    Throwable
  7. final def getSuppressed(): Array[java.lang.Throwable]
    Definition Classes
    Throwable
  8. def initCause(arg0: java.lang.Throwable): java.lang.Throwable
    Definition Classes
    Throwable
  9. def printStackTrace(arg0: PrintWriter): Unit
    Definition Classes
    Throwable
  10. def printStackTrace(arg0: PrintStream): Unit
    Definition Classes
    Throwable
  11. def printStackTrace(): Unit
    Definition Classes
    Throwable
  12. def setStackTrace(arg0: Array[StackTraceElement]): Unit
    Definition Classes
    Throwable
  13. def toString(): String

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

    a String representation of the object.

    Definition Classes
    Throwable → AnyRef → Any