Module DA.Exception¶
Exception handling in Daml.
Typeclasses¶
class HasThrow e where
Part of the
Exceptionconstraint.
- throwPure
: e -> t
Throw exception in a pure context.
instance HasThrow ArithmeticError
instance HasThrow AssertionFailed
instance HasThrow GeneralError
instance HasThrow PreconditionFailed
class HasMessage e where
Part of the
Exceptionconstraint.instance HasMessage AnyException
instance HasMessage ArithmeticError
instance HasMessage AssertionFailed
instance HasMessage GeneralError
instance HasMessage PreconditionFailed
class HasToAnyException e where
Part of the
Exceptionconstraint.
- toAnyException
: e -> AnyException
Convert an exception type to AnyException.
instance HasToAnyException AnyException
instance HasToAnyException ArithmeticError
instance HasToAnyException AssertionFailed
instance HasToAnyException GeneralError
instance HasToAnyException PreconditionFailed
class HasFromAnyException e where
Part of the
Exceptionconstraint.
- fromAnyException
: AnyException -> Optional e
Convert an AnyException back to the underlying exception type, if possible.
instance HasFromAnyException AnyException
instance HasFromAnyException ArithmeticError
instance HasFromAnyException AssertionFailed
instance HasFromAnyException GeneralError
instance HasFromAnyException PreconditionFailed
class Action m => ActionThrow m where
class ActionThrow m => ActionCatch m where
Action type in which
try ... catch ...is supported.
- _tryCatch
: (() -> m t) -> (AnyException -> Optional (m t)) -> m t
Handle an exception. Use the
try ... catch ...syntax instead of calling this method directly.instance ActionCatch Update
Data Types¶
- type Exception e
- = (HasThrow e, HasMessage e, HasToAnyException e, HasFromAnyException e) - Exception typeclass. This should not be implemented directly, instead, use the - exceptionsyntax.
data ArithmeticError
Exception raised by an arithmetic operation, such as divide-by-zero or overflow.
Field Type Description message Text 
data AssertionFailed
Exception raised by assert functions in DA.Assert
Field Type Description message Text 
data GeneralError
data PreconditionFailed
Exception raised when a contract is invalid, i.e. fails the ensure clause.
Field Type Description message Text