This is the documentation of version 1.0.0-rc.0. Go to the latest version, 1.0.0-rc.5.
TomTom Maps for JavaScript
    Preparing search index...

    Class SDKServiceError

    Error class for HTTP API response errors.

    It extends SDKError with HTTP status codes, and automatically maps known error codes to user-friendly messages with APIErrorCode.

    throw new SDKServiceError('Invalid request', 'geocoding', 400);
    

    Hierarchy (View Summary)

    Index
    • Creates a new SDKServiceError instance.

      If the status code matches a known error in APIErrorCode, the standardized message automatically replaces the message.

      Parameters

      • message: string

        Error message from the API, or a custom message.

      • service: string

        Name of the service that generated the error.

      • Optionalstatus: number

        HTTP status code of the failed request.

      • Optionaloptions: { apiErrorCode?: string; privatePreviewAccess?: PrivatePreviewAccess }

      Returns SDKServiceError

    apiErrorCode?: string

    The API's own name for the error, from its detailedError.code, when its response carries one.

    On an INSUFFICIENT_PERMISSIONS it tells the causes apart: 'Forbidden' when the API is not enabled for the key, 'InvalidReferer' when the key's domain restriction refused the page.

    canRetry: boolean

    Whether the condition clears on its own, so the same call is likely to succeed later: true for RATE_LIMITED, LIVE_SERVICE_NOT_AVAILABLE and NETWORK_NOT_AVAILABLE.

    cause?: unknown
    code:
        | "INVALID_REQUEST"
        | "INSECURE_BASE_URL"
        | "INVALID_CREDENTIALS"
        | "INSUFFICIENT_PERMISSIONS"
        | "NOT_FOUND"
        | "RATE_LIMITED"
        | "LIVE_SERVICE_NOT_AVAILABLE"
        | "NETWORK_NOT_AVAILABLE"
        | "ABORTED"
        | "WEBGL_UNSUPPORTED"
        | "WEBGL_CONTEXT_LOST"
        | "STYLE_LOAD_FAILED"
        | "INTERNAL"

    What went wrong, as one of SDKErrorCode. Branch on this value rather than the message.

    issues?: $ZodIssue[]

    The Zod issues of a failed request validation, for an INVALID_REQUEST the SDK raised itself.

    message: string
    name: string
    privatePreviewAccess?: PrivatePreviewAccess

    The access the API key lacks, on an INSUFFICIENT_PERMISSIONS from a Private Preview API that did not name another cause. The message names it too.

    sdkVersion: string = __SDK_VERSION__

    The version of the SDK that raised the error, for bug reports.

    service: string

    Name of the service where the error occurred.

    stack?: string
    status?: number

    HTTP status code of the failed API request.

    Common values:

    • 400: Bad Request
    • 401: Unauthorized
    • 403: Forbidden
    • 429: Too Many Requests
    • 500: Internal Server Error
    stackTraceLimit: number

    The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

    The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

    If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

    • Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

      const myObject = {};
      Error.captureStackTrace(myObject);
      myObject.stack; // Similar to `new Error().stack`

      The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

      The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

      The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

      function a() {
      b();
      }

      function b() {
      c();
      }

      function c() {
      // Create an error without stack trace to avoid calculating the stack trace twice.
      const { stackTraceLimit } = Error;
      Error.stackTraceLimit = 0;
      const error = new Error();
      Error.stackTraceLimit = stackTraceLimit;

      // Capture the stack trace above function b
      Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
      throw error;
      }

      a();

      Parameters

      • targetObject: object
      • OptionalconstructorOpt: Function

      Returns void

    • Indicates whether the argument provided is a built-in Error instance or not.

      Parameters

      • error: unknown

      Returns error is Error