# ErrorEffect

### Related Docs: object ErrorEffect | package eff

#### trait ErrorEffect[F] extends ErrorCreation[F] with ErrorInterpretation[F]

Effect for computation which can fail and return a Throwable, or just stop with a failure

This effect is a mix of Eval and \/ in the sense that every computation passed to this effect (with the ok method) is considered "impure" or "faulty" by default.

The type F is used to represent the failure type.

Linear Supertypes
Known Subclasses
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. ErrorEffect
2. ErrorInterpretation
3. ErrorCreation
4. ErrorTypes
5. AnyRef
6. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Type Members

1. #### type Error = \/[Throwable, F]

type of errors: exceptions or failure messages

type of errors: exceptions or failure messages

Definition Classes
ErrorTypes
2. #### type ErrorOrOk[A] = Evaluate[F, A]

base type for this effect: either an error or a computation to evaluate a "by-name" value

base type for this effect: either an error or a computation to evaluate a "by-name" value

Definition Classes
ErrorTypes
3. #### type _ErrorOrOk[R] = Member[ErrorOrOk, R]

Definition Classes
ErrorTypes
4. #### type _errorOrOk[R] = MemberIn[ErrorOrOk, R]

Definition Classes
ErrorTypes

### Value Members

1. #### final def !=(arg0: Any): Boolean

Definition Classes
AnyRef → Any
2. #### final def ##(): Int

Definition Classes
AnyRef → Any
3. #### final def ==(arg0: Any): Boolean

Definition Classes
AnyRef → Any
4. #### def andFinally[R, A](action: Eff[R, A], last: Eff[R, Unit])(implicit m: <=[ErrorOrOk, R]): Eff[R, A]

evaluate 1 action possibly having error effects

evaluate 1 action possibly having error effects

Execute a second action whether the first is successful or not

Definition Classes
ErrorInterpretation
5. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
6. #### def catchError[R, A, B](action: Eff[R, A], pure: (A) ⇒ B, onError: (Error) ⇒ Eff[R, B])(implicit m: <=[ErrorOrOk, R]): Eff[R, B]

evaluate 1 action possibly having error effects

evaluate 1 action possibly having error effects

Execute a second action if the first one is not successful, based on the error

Definition Classes
ErrorInterpretation
7. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
8. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
9. #### def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
10. #### def error[R, A](error: Error)(implicit arg0: _errorOrOk[R]): Eff[R, A]

create an Eff value from an error

create an Eff value from an error

Definition Classes
ErrorCreation
11. #### def eval[R, A](a: EvalEffect.Eval[A])(implicit arg0: _errorOrOk[R]): Eff[R, A]

create an Eff value from a computation

create an Eff value from a computation

Definition Classes
ErrorCreation
12. #### def exception[R, A](t: Throwable)(implicit arg0: _errorOrOk[R]): Eff[R, A]

create an Eff value from an exception

create an Eff value from an exception

Definition Classes
ErrorCreation
13. #### def fail[R, A](failure: F)(implicit arg0: _errorOrOk[R]): Eff[R, A]

create an Eff value from a failure

create an Eff value from a failure

Definition Classes
ErrorCreation
14. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
15. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
16. #### def hashCode(): Int

Definition Classes
AnyRef → Any
17. #### def ignoreException[R, E <: Throwable, A](action: Eff[R, A])(implicit arg0: ClassTag[E], m: <=[ErrorOrOk, R]): Eff[R, Unit]

ignore one possible exception that could be thrown

ignore one possible exception that could be thrown

Definition Classes
ErrorInterpretation
18. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any
19. #### def localError[SR, BR, U, F1, F2, A](r: Eff[SR, A], getter: (F1) ⇒ F2)(implicit sr: Aux[[β\$0\$]Evaluate[F1, β\$0\$], SR, U], br: Aux[[β\$1\$]Evaluate[F2, β\$1\$], BR, U]): Eff[BR, A]

Lift a computation over a "small" error (for a subsystem) into a computation over a "bigger" error (for the full application)

Lift a computation over a "small" error (for a subsystem) into a computation over a "bigger" error (for the full application)

Definition Classes
ErrorInterpretation
20. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
21. #### final def notify(): Unit

Definition Classes
AnyRef
22. #### final def notifyAll(): Unit

Definition Classes
AnyRef
23. #### def ok[R, A](a: ⇒ A)(implicit arg0: _errorOrOk[R]): Eff[R, A]

create an Eff value from a computation

create an Eff value from a computation

Definition Classes
ErrorCreation
24. #### def orElse[R, A](action: Eff[R, A], onError: Eff[R, A])(implicit m: <=[ErrorOrOk, R]): Eff[R, A]

evaluate 1 action possibly having error effects

evaluate 1 action possibly having error effects

Execute a second action if the first one is not successful

Definition Classes
ErrorInterpretation
25. #### def runError[R, U, A](r: Eff[R, A])(implicit m: Aux[ErrorOrOk, R, U]): Eff[U, \/[Error, A]]

Run an error effect.

Run an error effect.

Stop all computation if there is an exception or a failure.

Definition Classes
ErrorInterpretation
26. #### def runLocalError[R, U, F1, F2, A](r: Eff[R, A], getter: (F1) ⇒ F2)(implicit sr: Aux[[β\$6\$]Evaluate[F1, β\$6\$], R, U], br: |=[[β\$7\$]Evaluate[F2, β\$7\$], U]): Eff[U, A]

Translate an error effect to another one in the same stack a computation over a "bigger" error (for the full application)

Translate an error effect to another one in the same stack a computation over a "bigger" error (for the full application)

Definition Classes
ErrorInterpretation
27. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
28. #### def toString(): String

Definition Classes
AnyRef → Any
29. #### final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
30. #### final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
31. #### final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
32. #### def whenFailed[R, A](action: Eff[R, A], onError: (Error) ⇒ Eff[R, A])(implicit m: <=[ErrorOrOk, R]): Eff[R, A]

evaluate 1 action possibly having error effects

evaluate 1 action possibly having error effects

Execute a second action if the first one is not successful, based on the error

The final value type is the same as the original type

Definition Classes
ErrorInterpretation