final case class DeserializedCantonError(code: ErrorCode, cause: String, correlationId: Option[String], traceId: Option[String], context: Map[String, String], resources: Seq[(ErrorResource, String)]) extends BaseError with Product with Serializable
Generic error class used for creating error instances from deserialized gRPC statuses that resulted from serialization of self-service error codes (children of BaseError). Its aim is to be used in client applications and components for simplifying programmatic inspection and/or enrichment of Canton errors received over-the-wire or from persistence.
Note: Do NOT use this class for explicitly instantiating errors. Instead, use or create a fully-typed error instance.
- Alphabetic
- By Inheritance
- DeserializedCantonError
- Serializable
- Product
- Equals
- BaseError
- LocationMixin
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val cause: String
A human readable string indicating the error
A human readable string indicating the error
- Definition Classes
- DeserializedCantonError → BaseError
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val code: ErrorCode
The error code, usually passed in as implicit where the error class is defined
The error code, usually passed in as implicit where the error class is defined
- Definition Classes
- DeserializedCantonError → BaseError
- val context: Map[String, String]
The context (declared fields) of this error
The context (declared fields) of this error
- Definition Classes
- DeserializedCantonError → BaseError
- val correlationId: Option[String]
- def definiteAnswerO: Option[Boolean]
Controls whether a
definite_answer
error detail is added to the gRPC status codeControls whether a
definite_answer
error detail is added to the gRPC status code- Definition Classes
- BaseError
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val location: Option[String]
Contains the location where the error has been created.
Contains the location where the error has been created.
- Definition Classes
- LocationMixin
- def logWithContext(extra: Map[String, String] = Map())(implicit contextualizedErrorLogger: ContextualizedErrorLogger): Unit
- Definition Classes
- BaseError
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val resources: Seq[(ErrorResource, String)]
The resources related to this error
The resources related to this error
We return the set of resources via com.google.rpc.ResourceInfo. Override this method in order to return resource information via com.google.rpc.Status
- Definition Classes
- DeserializedCantonError → BaseError
- def retryable: Option[ErrorCategoryRetry]
Returns retryability information of this particular error
Returns retryability information of this particular error
In some cases, error instances would like to provide custom retry intervals. This can be achieved by locally overriding this method.
Do not use this to change the contract of the error categories. Non-retryable errors shouldn't be made retryable. Only use it for adjusting the retry intervals.
- Definition Classes
- BaseError
- def rpcStatus(overrideCode: Option[Code] = None)(implicit loggingContext: ContextualizedErrorLogger): Status
- Definition Classes
- BaseError
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def throwableO: Option[Throwable]
An optional argument to log exceptions
An optional argument to log exceptions
If you want to log an exception as part of your error, then use the following example:
object MyCode extends ErrorCode(id="SUPER_DUPER_ERROR") { case class MyError(someString: String, throwable: Throwable) extends SomeInternalError( cause = "Something failed with an exception bla", throwableO = Some(throwable) ) }
NOTE: This throwable's details are not included the exception communicated to the gRPC clients so if you want them communicated, you need to explicitly add them to the e.g. context map or cause string.
- Definition Classes
- BaseError
- def toRpcStatusWithForwardedRequestId: Status
- val traceId: Option[String]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])