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