Spec-Zone.ru › Scala 3.2

Класс Failure.Failure

Исходный код

final case class Failure[+T](exception: Throwable) extends Try[T]

Суператрибуты
класс Try[T]
интерфейс Serializable
интерфейс Product
интерфейс Equals
класс Object
интерфейс Matchable
класс Any

Наследуемые классы

Исходный код
final class WithFilter(p: T => Boolean)

Необходимо использовать весь класс WithFilter, чтобы соблюсти контракт «не создавать новую коллекцию», даже если это вряд ли будет существенно влиять на коллекцию с максимальным размером 1.

Наследуется из Try

Конкретные методы

Исходный код
override def collect[U](pf: PartialFunction[T, U]): Try[U]

Применяет заданную частичную функцию к значению из этого Success или возвращает этот объект, если это Failure.

Определяющие классы Try

Исходный код
override def failed: Try[Throwable]

Инвертирует этот Try. Если это Failure, возвращает его исключение, обернутое в Success. Если это Success, возвращает Failure содержащий UnsupportedOperationException.

Определяющие классы Try

Исходный код
override def filter(p: T => Boolean): Try[T]

Преобразует этот объект в Failure если предикат не выполняется.

Определяющие классы Try

Исходный код
override def flatMap[U](f: T => Try[U]): Try[U]

Возвращает заданную функцию, примененную к значению из этого Success или возвращает этот объект, если это Failure.

Определяющие классы Try

Исходный код
override def flatten[U](implicit ev: T <:< Try[U]): Try[U]

Преобразует вложенное Try, т.е. Try типа Try[Try[T]], в не вложенное Try, т.е. Try типа Try[T].

Определяющие классы Try

Исходный код
override def fold[U](fa: Throwable => U, fb: T => U): U

Применяет fa если это Failure или fb если это Success. Если fb первоначально применяется и вызывает исключение, тогда fa применяется с этим исключением.

Параметры
fa

функция, которую нужно применить, если это Failure

fb

функция, которую нужно применить, если это Success

Возвращаемое значение

результаты применения функции

Пример
val result: Try[Int] = Try { string.toInt }
log(result.fold(
 ex => "Operation failed with " + ex,
 v => "Operation produced value: " + v
))
Определяющие классы Try

Исходный код
override def foreach[U](f: T => U): Unit

Применяет заданную функцию f если это Success, в противном случае возвращает Unit если это Failure.

Примечание: Если f вызывает исключение, то этот метод может выбросить исключение.

Definition Classes Try

Source
override def get: T

Возвращает значение из этого Success или выбрасывает исключение, если это Failure.

Definition Classes Try

Source
override def getOrElse[U >: T](default: => U): U

Возвращает значение из этого Success или заданное значение default аргумента, если это Failure.

Примечание:: Это выбросит исключение, если это не успех, и default выбросит исключение.

Definition Classes Try

Source
override def isFailure: Boolean

Возвращает true если Try является Failure, false в противном случае.

Definition Classes Try

Source
override def isSuccess: Boolean

Возвращает true если Try является Success, false в противном случае.

Definition Classes Try

Source
override def map[U](f: T => U): Try[U]

Применяет заданную функцию к значению из этого Success или возвращает этот объект, если это Failure.

Definition Classes Try

Source
override def orElse[U >: T](default: => Try[U]): Try[U]

Возвращает этот Try если это Success или заданный default аргумент, если это Failure.

Definition Classes Try

Source
override def recover[U >: T](pf: PartialFunction[Throwable, U]): Try[U]

Применяет заданную функцию f если это Failure, в противном случае возвращает этот объект, если это Success. Это как map для исключения.

Definition Classes Try

Source
override def recoverWith[U >: T](pf: PartialFunction[Throwable, Try[U]]): Try[U]

Применяет заданную функцию f если это Failure, в противном случае возвращает этот объект, если это Success. Это как flatMap для исключения.

Definition Classes Try

Source
override def toEither: Either[Throwable, T]

Возвращает Left с Throwable если это Failure, в противном случае возвращает Right с Success значением.

Definition Classes Try

Source
override def toOption: Option[T]

Возвращает None если это Failure или Some содержащее значение, если это Success.

Классы-определения Try

Источник
override def transform[U](s: T => Try[U], f: Throwable => Try[U]): Try[U]

Завершает этот Try, применяя функцию f к этому объекту, если он типа Failure, или, наоборот, применяя s если это Success.

Классы-определения Try

Наследованные методы

Источник
def productElementNames: Iterator[String]

Итератор по именам всех элементов этого произведения.

Унаследовано от Product

Источник
def productIterator: Iterator[Any]

Итератор по всем элементам этого произведения.

Возвращает

в реализации по умолчанию, итератор Iterator[Any]

Унаследовано от Product

Источник
final def withFilter(p: T => Boolean): WithFilter

Создаёт нестрогий фильтр, который в конечном счёте преобразует этот объект в Failure если предикат не выполняется.

Примечание: в отличие от filter, withFilter не создаёт новый Try. Вместо этого он ограничивает область применения последующих map, flatMap, foreach, и withFilter операций.

Поскольку Try — коллекция из одного элемента, это может быть немного излишне, но это согласуется с withFilter для Option и других коллекций.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого Try, которые удовлетворяют предикату p.

Унаследовано от Try

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/util/Failure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API