Comment on page
Exception Converter
The
ExceptionConverter
class allows you to map a specific Exception
to a particular Failure object. While a single ExceptionConverter
may not be very useful on its own, you can use a group of exception converters together in an ExceptionConverterSuite to run a task and automatically convert any exceptions that are thrown into the appropriate Failure
object.Exception converter is integrated with the Codenic Logger to provide logging capabilities to the executable task.
To create an Exception Converter, create a class that extends the
ExceptionConverter
class:/// A custom exception converter for converting a [SocketException] to a
/// [NetworkFailure] if an error occurs.
///
/// If no exception is caught, then [T] is returned.
class SocketExceptionConverter<T>
extends ExceptionConverter<SocketException, T> {
const SocketExceptionConverter();
@override
Failure convert({
required SocketException exception,
StackTrace? stackTrace,
CodenicLogger? logger,
MessageLog? messageLog,
}) {
if (logger != null && messageLog != null) {
// Optional: you can log the exception here if needed
logger.wtf(messageLog, error: exception, stackTrace: stackTrace);
}
return const NetworkFailure();
}
}
Last modified 9mo ago