- Overview
- Tutorials
- Getting started
- Get started with Canton and the JSON Ledger API
- Get Started with Canton, the JSON Ledger API, and TypeScript
- Get started with Canton Network App Dev Quickstart
- Get started with smart contract development
- Basic contracts
- Test templates using Daml scripts
- Build the Daml Archive (.dar) file
- Data types
- Transform contracts using choices
- Add constraints to a contract
- Parties and authority
- Compose choices
- Handle exceptions
- Work with dependencies
- Functional programming 101
- The Daml standard library
- Test Daml contracts
- Next steps
- Application development
- Getting started
- Development how-tos
- Component how-tos
- Explanations
- References
- Application development
- Smart contract development
- Daml language cheat sheet
- Daml language reference
- Daml standard library
- DA.Action.State.Class
- DA.Action.State
- DA.Action
- DA.Assert
- DA.Bifunctor
- DA.Crypto.Text
- DA.Date
- DA.Either
- DA.Exception
- DA.Fail
- DA.Foldable
- DA.Functor
- DA.Internal.Interface.AnyView.Types
- DA.Internal.Interface.AnyView
- DA.List.BuiltinOrder
- DA.List.Total
- DA.List
- DA.Logic
- DA.Map
- DA.Math
- DA.Monoid
- DA.NonEmpty.Types
- DA.NonEmpty
- DA.Numeric
- DA.Optional
- DA.Record
- DA.Semigroup
- DA.Set
- DA.Stack
- DA.Text
- DA.TextMap
- DA.Time
- DA.Traversable
- DA.Tuple
- DA.Validation
- GHC.Show.Text
- GHC.Tuple.Check
- Prelude
- Smart contract upgrading reference
- Glossary of concepts
DA.Exception¶
Exception handling in Daml.
DEPRECATED: Use failWithStatus
and FailureStatus
over Daml Exceptions
Typeclasses¶
class HasThrow e where
Part of the
Exception
constraint. DEPRECATED: UsefailWithStatus
andFailureStatus
over Daml Exceptions
- 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. DEPRECATED: UsefailWithStatus
andFailureStatus
over Daml Exceptionsinstance HasMessage AnyException
instance HasMessage ArithmeticError
instance HasMessage AssertionFailed
instance HasMessage GeneralError
instance HasMessage PreconditionFailed
class HasToAnyException e where
Part of the
Exception
constraint. DEPRECATED: UsefailWithStatus
andFailureStatus
over Daml Exceptions
- 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. DEPRECATED: UsefailWithStatus
andFailureStatus
over Daml Exceptions
- 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
Action type in which
throw
is supported. DEPRECATED: UsefailWithStatus
andFailureStatus
over Daml Exceptionsinstance ActionThrow Update
class ActionThrow m => ActionCatch m where
Action type in which
try ... catch ...
is supported. DEPRECATED: Avoid the use of catch in daml code, prefer error handling on client, and throwing usingfailWithStatus
- _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. DEPRECATED: Use
failWithStatus
andFailureStatus
over Daml Exceptions
Field
Type
Description
message
data AssertionFailed
Exception raised by assert functions in DA.Assert DEPRECATED: Use
failWithStatus
andFailureStatus
over Daml Exceptions
Field
Type
Description
message
data GeneralError
Exception raised by
error
. DEPRECATED: UsefailWithStatus
andFailureStatus
over Daml Exceptions
Field
Type
Description
message
data PreconditionFailed
Exception raised when a contract is invalid, i.e. fails the ensure clause. DEPRECATED: Use
failWithStatus
andFailureStatus
over Daml Exceptions
Field
Type
Description
message