object invariant
- Alphabetic
- By Inheritance
- invariant
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
TryT[F[_], A] = invariant.OpacityTypes.TryT[F, A]
A monad transformer for exception handling.
A monad transformer for exception handling.
As a monad transformer,
TryT
should be used with another monadic data type, like scalaz.Name.import scalaz.Name import com.thoughtworks.tryt.invariant.TryT, TryT._ type TryName[A] = TryT[Name, A]
Given a
validate
function,def validate(s: String): Int = s.toInt
when creating a
TryT
-transformed scalaz.Name from thevalidate
,import scalaz.syntax.all._ val invalidTry: TryName[Int] = validate("invalid input").point[TryName]
then the exceptions thrown in
validate
call should be converted to a scala.util.Failure;import com.thoughtworks.tryt.invariant.TryT._ val TryT(Name(failure)) = invalidTry import scala.util._ failure should be(an[Failure[_]])
and when there is no exception thrown in
validate
call,val validTry: TryName[Int] = validate("42").point[TryName]
then the result of
validate
call should be converted to a scala.util.Success;val TryT(Name(success)) = validTry success should be(Success(42))
and when the
TryT
-transformed scalaz.Name is built from afor
-comprehension,val invalidForComprehension: TryName[Int] = for { i <- validate("42").point[TryName] j <- validate("invalid input").point[TryName] } yield i + j
then the exceptions thrown in the
for
-comprehension should be converted to a scala.util.Failure;val TryT(Name(failure2)) = invalidTry failure2 should be(an[Failure[_]])
- Note
This
TryT
type is an opacity alias toF[Try[A]]
. All type classes and helper functions for thisTryT
type are defined in the companion object TryT- See also
This
TryT
transfomer is similar to scalaz.EitherT, exceptTryT
handles exceptions thrown in callback functions passed to map, bind or point.
Example:
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- object TryT extends TryTInstances0 with InvariantInstances