NestedRuntimeException class abstract
Abstract base class for runtime exceptions that can wrap other exceptions.
This class provides a foundation for creating exception hierarchies where exceptions can contain references to their underlying causes. It's particularly useful for framework-level exceptions that need to preserve the original error context while adding additional information.
Key Features:
- Maintains a chain of causation through nested exceptions
- Provides root cause analysis capabilities
- Supports exception type checking throughout the chain
- Offers formatted string representation with cause information
Example:
class DatabaseException extends NestedRuntimeException {
DatabaseException(String message, [Throwable? cause]) : super(message, cause);
}
// Usage with nested causes
try {
// Some database operation
} catch (e) {
throw DatabaseException('Failed to save user', e);
}
// Analyzing the exception chain
catch (e) {
if (e is NestedRuntimeException) {
print('Root cause: ${e.getRootCause()}');
print('Most specific: ${e.getMostSpecificCause()}');
}
}
- Inheritance
- Available extensions
Constructors
- NestedRuntimeException([String? message, Throwable? cause])
- Abstract base class for runtime exceptions that can wrap other exceptions.
Properties
- cause → Throwable?
-
The underlying cause of this exception, if any.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- message → String?
-
The descriptive message for this exception.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stackTrace → StackTrace?
-
The stack trace at the point where this error was first thrown.
no setterinherited
Methods
-
contains(
Class? exType) → bool - Checks if this exception or any exception in its cause chain is of the specified type.
-
getCause(
) → Throwable? -
The cause of this exception, if any.
override
-
getMessage(
) → String -
The message associated with this exception.
override
-
getMostSpecificCause(
) → Throwable - Returns the most specific cause of this exception.
-
getRootCause(
) → Throwable? - Returns the root cause of this exception by traversing the cause chain.
-
getStackTrace(
) → StackTrace -
The stack trace associated with this exception.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
printStackTrace(
[bool useErrorPrint = false]) → void -
Available on Error, provided by the ErrorExtensions extension
Prints the error along with its stack trace. -
printStackTrace(
[StackTrace? stacktrace, bool useErrorPrint = false]) → void -
Available on Exception, provided by the ExceptionExtensions extension
Prints the exception and optional StackTrace if available. -
printStackTrace(
[bool useErrorPrint = false]) → void -
Available on Throwable, provided by the ThrowableExtensions extension
Extension on Throwable to support printing stack traces in a unified way. -
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited