Cause

sealed abstract class Cause[+E] extends Product with Serializable
Companion:
object
trait Product
trait Equals
class Object
trait Matchable
class Any
class Both[E]
class Die
object Empty.type
class Fail[E]
class Interrupt
class Stackless[E]
class Then[E]

Value members

Concrete methods

final def &&[E1 >: E](that: Cause[E1]): Cause[E1]

Returns a cause that fails for this cause and the specified cause, in parallel.

Returns a cause that fails for this cause and the specified cause, in parallel.

final def ++[E1 >: E](that: Cause[E1]): Cause[E1]

Returns a cause that fails for this cause and the specified cause, in sequence.

Returns a cause that fails for this cause and the specified cause, in sequence.

final def as[E1](e: => E1): Cause[E1]

Maps the error value of this cause to the specified constant value.

Maps the error value of this cause to the specified constant value.

final def contains[E1 >: E](that: Cause[E1]): Boolean

Determines if this cause contains or is equal to the specified cause.

Determines if this cause contains or is equal to the specified cause.

final def defects: List[Throwable]

Extracts a list of non-recoverable errors from the Cause.

Extracts a list of non-recoverable errors from the Cause.

Returns the Throwable associated with the first Die in this Cause if one exists.

Returns the Throwable associated with the first Die in this Cause if one exists.

override def equals(that: Any): Boolean
Definition Classes
Equals -> Any

Returns the E associated with the first Fail in this Cause if one exists.

Returns the E associated with the first Fail in this Cause if one exists.

final def failureOrCause: Either[E, Cause[Nothing]]

Retrieve the first checked error on the Left if available, if there are no checked errors return the rest of the Cause that is known to contain only Die or Interrupt causes.

Retrieve the first checked error on the Left if available, if there are no checked errors return the rest of the Cause that is known to contain only Die or Interrupt causes.

Returns the E associated with the first Fail in this Cause if one exists, along with its (optional) trace.

Returns the E associated with the first Fail in this Cause if one exists, along with its (optional) trace.

final def failureTraceOrCause: Either[(E, StackTrace), Cause[Nothing]]

Retrieve the first checked error and its trace on the Left if available, if there are no checked errors return the rest of the Cause that is known to contain only Die or Interrupt causes.

Retrieve the first checked error and its trace on the Left if available, if there are no checked errors return the rest of the Cause that is known to contain only Die or Interrupt causes.

final def failures: List[E]

Produces a list of all recoverable errors E in the Cause.

Produces a list of all recoverable errors E in the Cause.

final def filter(p: Cause[E] => Boolean): Cause[E]

Filters the specified causes out of this cause.

Filters the specified causes out of this cause.

final def find[Z](f: PartialFunction[Cause[E], Z]): Option[Z]

Finds something and extracts some details from it.

Finds something and extracts some details from it.

final def flatMap[E2](f: E => Cause[E2]): Cause[E2]

Transforms each error value in this cause to a new cause with the specified function and then flattens the nested causes into a single cause.

Transforms each error value in this cause to a new cause with the specified function and then flattens the nested causes into a single cause.

final def flatten[E1](implicit ev: E <:< Cause[E1]): Cause[E1]

Flattens a nested cause.

Flattens a nested cause.

final def fold[Z](empty0: => Z, failCase0: (E, StackTrace) => Z, dieCase0: (Throwable, StackTrace) => Z, interruptCase0: (FiberId, StackTrace) => Z)(thenCase0: (Z, Z) => Z, bothCase0: (Z, Z) => Z, stacklessCase0: (Z, Boolean) => Z): Z
final def foldContext[C, E1 >: E, Z](context: C)(folder: Folder[C, E1, Z]): Z

Folds over the cases of this cause with the specified functions.

Folds over the cases of this cause with the specified functions.

final def foldLeft[Z](z: Z)(f: PartialFunction[(Z, Cause[E]), Z]): Z

Folds over the cause to statefully compute a value.

Folds over the cause to statefully compute a value.

override def hashCode: Int
Definition Classes
Any

Returns a set of interruptors, fibers that interrupted the fiber described by this Cause.

Returns a set of interruptors, fibers that interrupted the fiber described by this Cause.

final def isDie: Boolean
final def isEmpty: Boolean

Determines if the Cause is empty.

Determines if the Cause is empty.

final def isFailure: Boolean

Determines if the Cause contains an interruption.

Determines if the Cause contains an interruption.

Determines if the Cause contains only interruptions and not any Die or Fail causes.

Determines if the Cause contains only interruptions and not any Die or Fail causes.

final def isTraced: Boolean

Determines if the Cause is traced.

Determines if the Cause is traced.

final def keepDefects: Option[Cause[Nothing]]

Remove all Fail and Interrupt nodes from this Cause, return only Die cause/finalizer defects.

Remove all Fail and Interrupt nodes from this Cause, return only Die cause/finalizer defects.

def linearize[E1 >: E]: Set[Cause[E1]]

Linearizes this cause to a set of parallel causes where each parallel cause contains a linear sequence of failures.

Linearizes this cause to a set of parallel causes where each parallel cause contains a linear sequence of failures.

final def map[E1](f: E => E1): Cause[E1]

Transforms the error type of this cause with the specified function.

Transforms the error type of this cause with the specified function.

final def mapTrace(f: StackTrace => StackTrace): Cause[E]

Transforms the traces in this cause with the specified function.

Transforms the traces in this cause with the specified function.

final def prettyPrint: String

Returns a String with the cause pretty-printed.

Returns a String with the cause pretty-printed.

def size: Int
final def squash(implicit ev: IsSubtypeOfError[E, Throwable]): Throwable

Squashes a Cause down to a single Throwable, chosen to be the "most important" Throwable.

Squashes a Cause down to a single Throwable, chosen to be the "most important" Throwable.

final def squashTrace(implicit ev: IsSubtypeOfError[E, Throwable]): Throwable

Squashes a Cause down to a single Throwable, chosen to be the "most important" Throwable. In addition, appends a new element to the suppressed exceptions of the Throwable, with this Cause "pretty printed" (in stackless mode) as the message.

Squashes a Cause down to a single Throwable, chosen to be the "most important" Throwable. In addition, appends a new element to the suppressed exceptions of the Throwable, with this Cause "pretty printed" (in stackless mode) as the message.

final def squashTraceWith(f: E => Throwable): Throwable

Squashes a Cause down to a single Throwable, chosen to be the "most important" Throwable. In addition, appends a new element the to Throwables "caused by" chain, with this Cause "pretty printed" (in stackless mode) as the message.

Squashes a Cause down to a single Throwable, chosen to be the "most important" Throwable. In addition, appends a new element the to Throwables "caused by" chain, with this Cause "pretty printed" (in stackless mode) as the message.

final def squashWith(f: E => Throwable): Throwable

Squashes a Cause down to a single Throwable, chosen to be the "most important" Throwable.

Squashes a Cause down to a single Throwable, chosen to be the "most important" Throwable.

final def stripFailures: Cause[Nothing]

Discards all typed failures kept on this Cause.

Discards all typed failures kept on this Cause.

Remove all Die causes that the specified partial function is defined at, returning Some with the remaining causes or None if there are no remaining causes.

Remove all Die causes that the specified partial function is defined at, returning Some with the remaining causes or None if there are no remaining causes.

Grabs a complete, linearized trace for the cause. Note: This linearization may be misleading in the presence of parallel errors.

Grabs a complete, linearized trace for the cause. Note: This linearization may be misleading in the presence of parallel errors.

final def traced(trace: StackTrace): Cause[E]

Adds the specified execution trace to traces.

Adds the specified execution trace to traces.

final def traces: List[StackTrace]

Grabs a list of execution traces from the cause.

Grabs a list of execution traces from the cause.

final def unified: List[Unified]

Returns a homogenized list of failures for the cause. This homogenization process throws away key information, but it is useful for interop with traditional stack traces.

Returns a homogenized list of failures for the cause. This homogenization process throws away key information, but it is useful for interop with traditional stack traces.

final def untraced: Cause[E]

Returns a Cause that has been stripped of all tracing information.

Returns a Cause that has been stripped of all tracing information.

Inherited methods

def canEqual(that: Any): Boolean
Inherited from:
Equals
Inherited from:
Product
def productElement(n: Int): Any
Inherited from:
Product
Inherited from:
Product
Inherited from:
Product
Inherited from:
Product