Класс scala.util.control.ControlThrowable
Базовый класс для исключений, предназначенных для управления потоком выполнения.
Экземпляры ControlThrowable обычно не должны перехватываться.
Для удобства, NonFatal не соответствует 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
}
}
}
Обработка исключений выключена, так как управление потоком не должно подавлять исключительное состояние. Также отключены трассировки стека, что позволяет безопасно повторно использовать экземпляры ControlThrowable.
У экземпляров ControlThrowable обычно не должно быть причины. В наследниках устаревшего типа причина может быть установлена с помощью initCause.
| Предки | |
|---|---|
| Известные подтипы |
Конструкторы
Исходный код
def this()
Унаследованные методы
| Унаследован из | Throwable |
|---|
def fillInStackTrace(): Throwable
| Унаследован из | Throwable |
|---|
| Унаследован из | Throwable |
|---|
def getLocalizedMessage(): String
| Унаследован из | Throwable |
|---|
def getMessage(): String
| Унаследован из | Throwable |
|---|
| Унаследован из | Throwable |
|---|
| Унаследован из | Throwable |
|---|
| Унаследован из | Throwable |
|---|
| Унаследовано от | Throwable |
|---|
| Унаследовано от | Throwable |
|---|
def printStackTrace(): Unit
| Унаследовано от | Throwable |
|---|
| Унаследовано от | Throwable |
|---|
| Унаследовано от | Throwable |
|---|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/util/control/ControlThrowable.html