# Throwable class abstract interface

Base class for all throwable exceptions in JetLeaf.

This abstract type combines both Error and Exception so that all JetLeaf errors can be caught using `on Exception`, `on Error`, or the shared `on Throwable` type. This provides consistency across the framework for handling system-level and application-level errors.

Extend this class for any custom exceptions that should be treated as fatal or critical by the JetLeaf runtime.

Inheritance
  - Object
  - Error
  - Throwable
Implemented types
  - Exception
Available extensions
  - ErrorExtensions
  - ExceptionExtensions
  - ThrowableExtensions

## Properties

hashCode → int
  The hash code for this object.
  no setter override
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
stackTrace → StackTrace?
  The stack trace at the point where this error was first thrown.
  no setter inherited

## Methods

getCause() → Object?
  The cause of this exception, if any.
getMessage() → String
  The message associated with this exception.
getStackTrace() → StackTrace
  The stack trace associated with this exception.
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.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  override