AsyncError class
Sendable error type that can cross isolate boundaries.
When async operations execute in background isolates, regular OdbcError objects cannot cross isolate boundaries directly. AsyncError provides a sendable alternative that preserves all error information and can be converted back to OdbcError after crossing the isolate boundary.
Example:
try {
return await Isolate.run(() => native.connect(dsn));
} catch (e) {
if (e is AsyncError) rethrow;
throw AsyncError(
code: AsyncErrorCode.connectionFailed,
message: e.toString(),
);
}
See also:
- AsyncError.toOdbcError to convert back to domain error types
- Implemented types
Constructors
- AsyncError({required AsyncErrorCode code, required String message, String? sqlState, int? nativeCode})
-
Creates a new AsyncError with the given properties.
const
Properties
- code → AsyncErrorCode
-
The error code categorizing the type of failure.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- message → String
-
Human-readable error message.
final
- nativeCode → int?
-
Database-specific native error code (if available).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sqlState → String?
-
SQLSTATE code from the ODBC driver (if available).
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toOdbcError(
) → OdbcError - Converts this AsyncError to the corresponding OdbcError domain type.
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited