Класс scala.util.control.Exception.Catch
класс Catch[+T] extends Described
Конструкторы экземпляров
новый Catch(pf: Catcher[T], fin: Option[Finally] = None, rethrow: (Throwable) => Boolean = shouldRethrow)
- pf
Частичная функция, используемая при применении логики catch для определения значения результата
- fin
Логика finally, которая, если определена, будет вызвана после логики catch
- rethrow
Предикат по исключениям, определяющий, когда необходимо повторно выбросить пойманное Throwable
Члены-значения
final def !=(arg0: Any): Boolean
Тестирует неравенство двух объектов.
- returns
trueесли !(this == that), иначе false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, согласованное с равенством значений: если две инстанции типа значения сравниваются как true, то ## вернёт одно и то же значение хэша для каждой из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из Catch[T] в any2stringadd[Catch[T]], выполненное методом any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (Catch[T], B)
- Неявный
- Этот член добавлен неявным преобразованием из Catch[T] в ArrowAssoc[Catch[T]], выполненное методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def andFinally(body: => Unit): Catch[T]
Создаёт новый контейнер Catch из этого объекта и переданного тела finally.
- body
Дополнительная логика, применяемая после всех имеющихся тел finally
def apply[U >: T](body: => U): U
final def asInstanceOf[T0]: T0
Преобразовать объект-получатель к типу T0.
Обратите внимание, что успешность преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] может выбросить ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, так как тип аргумента стирается во время компиляции, невозможно проверить, являются ли элементы списка требуемого типа.
- returns
объект-получатель.
- Definition Classes
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стираемого типаT0.
def clone(): AnyRef
Создаёт копию объекта-получателя.
Стандартная реализация метода clone зависит от платформы.
- returns
копия объекта-получателя.
def desc: String
- Definition Classes
- Described
def either[U >: T](body: => U): Either[Throwable, U]
def ensuring(cond: (Catch[T]) => Boolean, msg: => Any): Catch[T]
- Неявный
- Этот член добавлен неявным преобразованием из Catch[T] в Ensuring[Catch[T]], выполненным методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Catch[T]) => Boolean): Catch[T]
- Неявный
- Этот член добавлен неявным преобразованием из Catch[T] в Ensuring[Catch[T]], выполненным методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Catch[T]
- Неявный
- Этот член добавлен неявным преобразованием из Catch[T] в Ensuring[Catch[T]], выполненным методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Catch[T]
- Неявный
- Этот член добавлен неявным преобразованием из Catch[T] в Ensuring[Catch[T]], выполненным методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых непустых экземпляров
x и y типа AnyRef, несколько вызовов x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить, чтобы их поведение было согласовано со ссылочной эквивалентностью. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и они должны хешироваться к одному значению (o1.hashCode == o2.hashCode).
- возвращает
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
def equals(arg0: AnyRef): Boolean
Метод равенства для ссылочных типов. По умолчанию делегируется к eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- AnyRef → Any
val fin: Option[Finally]
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки аналогичны String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавляется неявным преобразованием из Catch[T] в StringFormat[Catch[T]], выполненное методом StringFormat в scala.Predef.
- Определяющие классы
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_ <: AnyRef]
Возвращает представление класса во время выполнения объекта.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта получателя T0.
Обратите внимание, что результат проверки зависит от стирания типов в Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания типа аргумента во время компиляции, невозможно проверить, соответствуют ли содержимое списка указанному типу.
- возвращает
true, если объект получателя является экземпляром стиранного типаT0;falseв противном случае.
- Определяющие классы
- Any
val name: String
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- возвращает
trueесли аргумент не является ссылкой на объект получателя;falseв противном случае.
- Определяющие классы
- AnyRef
final def notify(): Unit
Разбудит один поток, ожидающий монитора объекта получателя.
- Определяющие классы
- AnyRef
- Аннотации
- @native()
- Примечание
не указан SLS как член AnyRef
final def notifyAll(): Unit
Разбудит все потоки, ожидающие монитора объекта получателя.
- Определяющие классы
- AnyRef
- Аннотации
- @native()
- Примечание
не указан SLS как член AnyRef
def opt[U >: T](body: => U): Option[U]
def or[U >: T](other: Catch[U]): Catch[U]
def or[U >: T](pf2: Catcher[U]): Catch[U]
val pf: Catcher[T]
val rethrow: (Throwable) => Boolean
final def synchronized[T0](arg0: => T0): T0
- Определения классов
- AnyRef
def toEither: Catch[Either[Throwable, T]]
def toOption: Catch[Option[T]]
def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java оно представляет собой конкатенацию имени класса, "@" и хэш-кода объекта в шестнадцатеричном формате.
- возвращает
строковое представление объекта.
def toTry: Catch[Try[T]]
final def wait(): Unit
- Определения классов
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Определения классов
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
def withApply[U](f: (Throwable) => U): Catch[U]
def withDesc(s: String): Catch.this.type
- Определения классов
- Described
def withTry[U >: T](body: => U): Try[U]
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/util/control/Exception$$Catch.html
Контейнерный класс для логики catch/finally.
Передайте другое значение для rethrow, если вы хотите, возможно, неразумно разрешить перехват управляющих исключений и других исключений, которые остальная часть мира может ожидать получить.
тип результата тел, используемых в блоках try и catch