abstract class ControlThrowable extends Throwable with control.ControlThrowable
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
.
- Note
this compat class exists so that instances of
ControlThrowable
can be created using the same API and with the same suppression and stack trace writability semantics across versions.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- ControlThrowable
- ControlThrowable
- NoStackTrace
- Throwable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
addSuppressed(arg0: java.lang.Throwable): Unit
- Definition Classes
- Throwable
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
fillInStackTrace(): Throwable
- Definition Classes
- ControlThrowable → NoStackTrace → Throwable
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
getCause(): java.lang.Throwable
- Definition Classes
- Throwable
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getLocalizedMessage(): String
- Definition Classes
- Throwable
-
def
getMessage(): String
- Definition Classes
- Throwable
-
def
getStackTrace(): Array[StackTraceElement]
- Definition Classes
- Throwable
-
final
def
getSuppressed(): Array[java.lang.Throwable]
- Definition Classes
- Throwable
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
initCause(arg0: java.lang.Throwable): java.lang.Throwable
- Definition Classes
- Throwable
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
printStackTrace(arg0: PrintWriter): Unit
- Definition Classes
- Throwable
-
def
printStackTrace(arg0: PrintStream): Unit
- Definition Classes
- Throwable
-
def
printStackTrace(): Unit
- Definition Classes
- Throwable
-
def
setStackTrace(arg0: Array[StackTraceElement]): Unit
- Definition Classes
- Throwable
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Throwable → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()