- Overview
- Tutorials
- Getting started
- Get started with Canton and the JSON Ledger API
- 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
- Overview: Template Structure
- Reference: Templates
- Reference: Choices
- Reference: Updates
- Reference: Data Types
- Reference: Built-in Functions
- Reference: Expressions
- Reference: Functions
- Reference: Daml File Structure
- Reference: Daml Packages
- Reference: Contract Keys
- Reference: Interfaces
- Reference: Exceptions (Deprecated)
- 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
- Daml Script
- Smart contract upgrading reference
- Glossary of concepts
DA.Exception¶
Warning
DEPRECATED:
Exceptions are deprecated, prefer
failWithStatus
, and avoid using catch.Use
-Wno-deprecated-exceptions
to disable this warning.Exception handling in Daml.
DEPRECATED: Use failWithStatus
and FailureStatus
over Daml Exceptions
Typeclasses¶
class HasThrow e where
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.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
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.Part of the
Exception
constraint.instance HasMessage AnyException
instance HasMessage ArithmeticError
instance HasMessage AssertionFailed
instance HasMessage GeneralError
instance HasMessage PreconditionFailed
class HasToAnyException e where
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.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
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.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
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.Action type in which
throw
is supported.instance ActionThrow Update
class ActionThrow m => ActionCatch m where
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.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
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.Exception raised by an arithmetic operation, such as divide-by-zero or overflow.
Field
Type
Description
message
data AssertionFailed
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.Exception raised by assert functions in DA.Assert
Field
Type
Description
message
data GeneralError
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.Exception raised by
error
.
Field
Type
Description
message
data PreconditionFailed
Warning
DEPRECATED:
Exceptions are deprecated, preferfailWithStatus
, and avoid using catch.Use-Wno-deprecated-exceptions
to disable this warning.Exception raised when a contract is invalid, i.e. fails the ensure clause.
Field
Type
Description
message