MappingException

class MappingException(val reason: MappingExceptionReason, val details: String, cause: Throwable? = null, path: MutableList<String> = mutableListOf()) : OctaviusException

Exception thrown when a type conversion or data mapping operation fails.

This includes scenarios like failing to convert data between incompatible types (e.g., mapping an Int to a String), missing columns in a database row, or missing required non-nullable properties in a Kotlin class.

Parameters

cause

The underlying exception that caused this failure, if any.

path

Where in the nested object structure the mapping error occurred, for a frame that knows it already. Kept on OctaviusException, which every layer that has something to add to it writes to; this is only the first segment, for the mapper that raises the exception at the depth it found the fault.

Constructors

Link copied to clipboard
constructor(reason: MappingExceptionReason, details: String, cause: Throwable? = null, path: MutableList<String> = mutableListOf())

Properties

Link copied to clipboard
open val cause: Throwable?
Link copied to clipboard

Additional details about the mapping failure.

Link copied to clipboard
open val message: String?
Link copied to clipboard

Where this happened, innermost first, appended to by each layer as the exception unwinds. It is on the base class for the same reason queryContext is: adding to it is the only thing a frame can do to an exception without replacing it, and replacing one costs the type the caller catches on - a ConstraintViolationException restated as something else stops being the failure a retry looks for. A mapper walking a nested composite appends the attribute it was on, a transaction plan the step and parameter it was resolving. Rendered reversed, outermost first, so PATH: step 1 -> parameter 'name' -> map #1 reads from the plan down to the lambda.

Link copied to clipboard

The context of the query that resulted in this exception, if applicable.

Link copied to clipboard

The reason the mapping failed.

Link copied to clipboard

The raw error message received from the database, if applicable.

Link copied to clipboard

The SQL state code associated with the error, if applicable.

Functions

Link copied to clipboard

Finds the Octavius failure behind this throwable, if there is one.

Link copied to clipboard
open override fun getDetailedMessage(): String

Provides a detailed, human-readable description of the error.

Link copied to clipboard
open override fun toString(): String