Centralized error handler

Constructors

Properties

errors: ShogunError[] = []
listeners: (error: ShogunError) => void[] = []
maxErrors: number = 100

Methods

  • Adds a listener for errors

    Parameters

    • listener: (error: ShogunError) => void

      Function that will be called when an error occurs

    Returns void

  • Clear all stored errors

    Returns void

  • Helper function to format error messages from native errors

    Parameters

    • error: unknown

      Error to format

    Returns string

    Formatted error message

  • Get error statistics

    Returns {
        byCode: Record<string, number>;
        byType: Record<string, number>;
        total: number;
    }

  • Retrieves the last N errors

    Parameters

    • count: number = 10

      Number of errors to retrieve

    Returns ShogunError[]

    List of most recent errors

  • Handles a raw error by converting it to ShogunError

    Parameters

    • type: ErrorType

      Error type

    • code: string

      Error code

    • message: string

      Error message

    • OptionaloriginalError: unknown

      Original error

    • logLevel: LogLevel = "error"

      Log level for the error

    Returns ShogunError

  • Handles errors and throws them as standardized ShogunError objects

    Parameters

    • type: ErrorType

      Error type

    • code: string

      Error code

    • message: string

      Error message

    • OptionaloriginalError: unknown

      Original error

    Returns never

    ShogunError

  • Handles an error by logging it and notifying listeners

    Parameters

    Returns void

  • Notifies all listeners of an error

    Parameters

    Returns void

  • Removes an error listener

    Parameters

    • listener: (error: ShogunError) => void

      Function to remove

    Returns void

  • Error handling with retry logic

    Type Parameters

    • T

    Parameters

    • fn: () => Promise<T>
    • errorType: ErrorType
    • errorCode: string
    • maxRetries: number = 3
    • retryDelay: number = 1000

    Returns Promise<T>