Failure

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

Attributes

Source
Try.scala
Graph
Supertypes
class Try[T]
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
Failure[T]^

Members list

Type members

Inherited classlikes

final class WithFilter(p: Try.this.T => Boolean) uses Try.this

We need a whole WithFilter class to honor the "doesn't create a new collection" contract even though it seems unlikely to matter much in a collection with max size 1.

We need a whole WithFilter class to honor the "doesn't create a new collection" contract even though it seems unlikely to matter much in a collection with max size 1.

Value parameters

p

the predicate used to test elements

Attributes

Inherited from:
Try
Source
Try.scala
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

override def collect[U](pf: PartialFunction[T, U]^): Try[U]^{this}

Applies the given partial function to the value from this Success or returns this if this is a Failure.

Applies the given partial function to the value from this Success or returns this if this is a Failure.

Type parameters

U

the type of the value returned by the partial function

Value parameters

pf

the partial function to apply to the value if this is a Success

Attributes

Definition Classes
Try
Source
Try.scala
override def failed: Try[Throwable]

Inverts this Try. If this is a Failure, returns its exception wrapped in a Success. If this is a Success, returns a Failure containing an UnsupportedOperationException.

Inverts this Try. If this is a Failure, returns its exception wrapped in a Success. If this is a Success, returns a Failure containing an UnsupportedOperationException.

Attributes

Definition Classes
Try
Source
Try.scala
override def filter(p: T => Boolean): Try[T]^{this}

Converts this to a Failure if the predicate is not satisfied.

Converts this to a Failure if the predicate is not satisfied.

Value parameters

p

the predicate to test the value against

Attributes

Definition Classes
Try
Source
Try.scala
override def flatMap[U](f: T => Try[U]^): Try[U]^{this}

Returns the given function applied to the value from this Success or returns this if this is a Failure.

Returns the given function applied to the value from this Success or returns this if this is a Failure.

Type parameters

U

the type of the value in the resulting Try

Value parameters

f

the function to apply to the value if this is a Success

Attributes

Definition Classes
Try
Source
Try.scala
override def flatten[U](implicit ev: T <:< Try[U]): Try[U]^{this}

Transforms a nested Try, ie, a Try of type Try[Try[T]], into an un-nested Try, ie, a Try of type Try[T].

Transforms a nested Try, ie, a Try of type Try[Try[T]], into an un-nested Try, ie, a Try of type Try[T].

Type parameters

U

the type of the value in the inner Try

Value parameters

ev

evidence that T is itself a Try[U]

Attributes

Definition Classes
Try
Source
Try.scala
override def fold[U](fa: Throwable => U, fb: T => U): U

Applies fa if this is a Failure or fb if this is a Success. If fb is initially applied and throws an exception, then fa is applied with this exception.

Applies fa if this is a Failure or fb if this is a Success. If fb is initially applied and throws an exception, then fa is applied with this exception.

Type parameters

U

the type of the result

Value parameters

fa

the function to apply if this is a Failure

fb

the function to apply if this is a Success

Attributes

Returns

the results of applying the function

Example
val result: Try[Int] = Try { string.toInt }
log(result.fold(
 ex => "Operation failed with " + ex,
 v => "Operation produced value: " + v
))
Definition Classes
Try
Source
Try.scala
override def foreach[U](f: T => U): Unit

Applies the given function f if this is a Success, otherwise returns Unit if this is a Failure.

Applies the given function f if this is a Success, otherwise returns Unit if this is a Failure.

Note: If f throws, then this method may throw an exception.

Type parameters

U

the (discarded) result type of the function f

Value parameters

f

the function to apply to the value if this is a Success

Attributes

Definition Classes
Try
Source
Try.scala
override def get: T

Returns the value from this Success or throws the exception if this is a Failure.

Returns the value from this Success or throws the exception if this is a Failure.

Attributes

Definition Classes
Try
Source
Try.scala
override def getOrElse[U >: T](default: => U): U

Returns the value from this Success or the given default argument if this is a Failure.

Returns the value from this Success or the given default argument if this is a Failure.

Note:: This will throw an exception if it is not a success and default throws an exception.

Type parameters

U

the type of the returned value, a supertype of T

Value parameters

default

the default value to return if this is a Failure

Attributes

Returns

the value if this is a Success, otherwise default

Definition Classes
Try
Source
Try.scala
override def isFailure: Boolean

Returns true if the Try is a Failure, false otherwise.

Returns true if the Try is a Failure, false otherwise.

Attributes

Definition Classes
Try
Source
Try.scala
override def isSuccess: Boolean

Returns true if the Try is a Success, false otherwise.

Returns true if the Try is a Success, false otherwise.

Attributes

Definition Classes
Try
Source
Try.scala
override def map[U](f: T => U): Try[U]^{this}

Maps the given function to the value from this Success or returns this if this is a Failure.

Maps the given function to the value from this Success or returns this if this is a Failure.

Type parameters

U

the type of the mapped value

Value parameters

f

the function to apply to the value if this is a Success

Attributes

Definition Classes
Try
Source
Try.scala
override def orElse[U >: T](default: => Try[U]^): Try[U]^{default}

Returns this Try if it's a Success or the given default argument if this is a Failure.

Returns this Try if it's a Success or the given default argument if this is a Failure.

Type parameters

U

the type of the value in the returned Try, a supertype of T

Value parameters

default

the fallback Try to return if this is a Failure (evaluated lazily)

Attributes

Definition Classes
Try
Source
Try.scala
override def recover[U >: T](pf: PartialFunction[Throwable, U]^): Try[U]^{this, pf.only[Control]}

Applies the given function f if this is a Failure, otherwise returns this if this is a Success. This is like map for the exception.

Applies the given function f if this is a Failure, otherwise returns this if this is a Success. This is like map for the exception.

Type parameters

U

the type of the value in the resulting Try, a supertype of T

Value parameters

pf

the partial function to apply if this is a Failure

Attributes

Definition Classes
Try
Source
Try.scala
override def recoverWith[U >: T](pf: PartialFunction[Throwable, Try[U]^]^): Try[U]^{this, pf}

Applies the given function f if this is a Failure, otherwise returns this if this is a Success. This is like flatMap for the exception.

Applies the given function f if this is a Failure, otherwise returns this if this is a Success. This is like flatMap for the exception.

Type parameters

U

the type of the value in the resulting Try, a supertype of T

Value parameters

pf

the partial function to apply if this is a Failure

Attributes

Definition Classes
Try
Source
Try.scala
override def toEither: Either[Throwable, T]

Returns Left with Throwable if this is a Failure, otherwise returns Right with Success value.

Returns Left with Throwable if this is a Failure, otherwise returns Right with Success value.

Attributes

Definition Classes
Try
Source
Try.scala
override def toOption: Option[T]

Returns None if this is a Failure or a Some containing the value if this is a Success.

Returns None if this is a Failure or a Some containing the value if this is a Success.

Attributes

Definition Classes
Try
Source
Try.scala
override def transform[U](s: T => Try[U]^, f: Throwable => Try[U]^): Try[U]^{f}

Completes this Try by applying the function f to this if this is of type Failure, or conversely, by applying s if this is a Success.

Completes this Try by applying the function f to this if this is of type Failure, or conversely, by applying s if this is a Success.

Type parameters

U

the type of the value in the resulting Try

Value parameters

f

the function to apply if this is a Failure

s

the function to apply if this is a Success

Attributes

Definition Classes
Try
Source
Try.scala

Inherited methods

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
Source
Product.scala

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product
Source
Product.scala
final def withFilter(p: T => Boolean): WithFilter^{this, p}

Creates a non-strict filter, which eventually converts this to a Failure if the predicate is not satisfied.

Creates a non-strict filter, which eventually converts this to a Failure if the predicate is not satisfied.

Note: unlike filter, withFilter does not create a new Try. Instead, it restricts the domain of subsequent map, flatMap, foreach, and withFilter operations.

As Try is a one-element collection, this may be a bit overkill, but it's consistent with withFilter on Option and the other collections.

Value parameters

p

the predicate used to test elements.

Attributes

Returns

an object of class WithFilter, which supports map, flatMap, foreach, and withFilter operations. All these operations apply to those elements of this Try which satisfy the predicate p.

Inherited from:
Try
Source
Try.scala