DA.Exception¶
Exception handling in Daml.
Typeclasses¶
class HasThrow e where
Part of the
Exception
constraint.
- 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
Exception
constraint.instance HasMessage AnyException
instance HasMessage ArithmeticError
instance HasMessage AssertionFailed
instance HasMessage GeneralError
instance HasMessage PreconditionFailed
class HasToAnyException e where
Part of the
Exception
constraint.
- 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
Exception
constraint.
- 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
exception
syntax.
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