package error

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package samples
  2. package utils

Type Members

  1. abstract class Alarm extends BaseAlarm
  2. abstract class AlarmErrorCode extends ErrorCode

    An alarm indicates that a different node is behaving maliciously.

    An alarm indicates that a different node is behaving maliciously. Alarms include situations where an attack has been mitigated successfully. Alarms are security relevant events that need to be logged in a standardized way for monitoring and auditing.

  3. trait BaseAlarm extends BaseError
  4. trait BaseError extends LocationMixin

    The main error interface for everything that should be logged and notified.

    The main error interface for everything that should be logged and notified.

    There are two ways to communicate an error to the user: write it into a log or send it as a string. In most cases, we'll do both: log the error appropriately locally and communicate it to the user by failing the API call with an error string.

  5. trait BaseErrorLogger extends AnyRef
  6. abstract class ContextualizedDamlError extends BaseError with RpcError with LogOnCreation
  7. class DamlErrorWithDefiniteAnswer extends ContextualizedDamlError

  8. final case class Description(description: String) extends Annotation with StaticAnnotation with Product with Serializable
  9. sealed trait ErrorCategory extends Product with Serializable

    Standard error categories

    Standard error categories

    Ideally, all products will return errors with appropriate error codes. Every such error code is associated with an error category that defines how the error will appear in the log file and on the api level.

  10. final case class ErrorCategoryRetry(duration: FiniteDuration) extends Product with Serializable

    Default retryability information

    Default retryability information

    Every error category has a default retryability classification. An error code may adjust the retry duration.

  11. final case class ErrorClass(groupings: List[Grouping]) extends Product with Serializable

    Used to hierarchically structure error codes in the official documentation.

  12. abstract class ErrorCode extends AnyRef

    Error Code Definition

    Error Code Definition

    We want to support our users and our developers with good error codes. Therefore, every error that an API returns should refer to a documented error code and provide some context information.

    Every error code is uniquely identified using an error-id of max 63 CAPITALIZED_WITH_UNDERSCORES characters

    Errors are organised according to ErrorGroups. And we separate the error code definition (using a singleton by virtue of using objects to express the nested hierarchy) and the actual error.

    Please note that there is some implicit argument passing involved in the example below:

    object SyncServiceErrors extends ParticipantErrorGroup {
      object ConnectionErrors extends ErrorGroup {
        object SynchronizerUnavailable extends ErrorCode(id="SYNCHRONIZER_UNAVAILABLE", ..) {
           case class ActualError(someContext: Val) extends BaseError with SyncServiceError
           // this error will actually be referring to the same error code!
           case class OtherError(otherContext: Val) extends BaseError with SyncServiceError
        }
      }
      object HandshakeErrors extends ErrorGroup {
        ...
      }
    }
  13. abstract class ErrorGroup extends AnyRef
  14. final case class ErrorResource(asString: String) extends Product with Serializable

    Type of error resource

    Type of error resource

    Some errors are linked to a specific resource such as a contract id or a package id. In such cases, we include the resource identifier as part of the error message. This enum allows an error to provide identifiers of a resource

  15. final case class Explanation(explanation: String) extends Annotation with StaticAnnotation with Product with Serializable
  16. final case class Grouping(docName: String, fullClassName: String) extends Product with Serializable

    A component of ErrorClass

    A component of ErrorClass

    docName

    The name that will appear in the generated documentation for the grouping.

    fullClassName

    Full class name of the corresponding ErrorGroup.

  17. trait LocationMixin extends AnyRef
  18. trait LogOnCreation extends AnyRef

    Trait to log on creation

  19. class NoBaseLogging extends BaseErrorLogger
  20. final case class Resolution(resolution: String) extends Annotation with StaticAnnotation with Product with Serializable
  21. final case class RetryStrategy(retryStrategy: String) extends Annotation with StaticAnnotation with Product with Serializable
  22. trait RpcError extends AnyRef
  23. sealed trait SerializableErrorCodeComponents extends AnyRef

Ungrouped