Drivebase Logo

Error Handling

Typed SDK errors and recommended handling patterns.

@drivebase/sdk throws typed error classes so you can handle failures by category.

Error Types

  • DrivebaseError: base SDK error with code and optional statusCode
  • ApiError: GraphQL/API failures (errors array included)
  • AuthenticationError: missing/invalid credentials (401)
  • NetworkError: request transport/connectivity failures
  • UploadError: upload-specific failures (includes optional sessionId)
import {
  ApiError,
  AuthenticationError,
  DrivebaseError,
  NetworkError,
  UploadError,
} from "@drivebase/sdk";

try {
  await client.files.upload({
    data: fileBlob,
    name: fileBlob.name,
    mimeType: fileBlob.type,
    size: fileBlob.size,
    providerId: "provider_123",
  });
} catch (error) {
  if (error instanceof AuthenticationError) {
    // token/workspace auth issue
  } else if (error instanceof ApiError) {
    console.error(error.errors);
  } else if (error instanceof UploadError) {
    console.error("Upload session:", error.sessionId);
  } else if (error instanceof NetworkError) {
    console.error("Network issue:", error.message);
  } else if (error instanceof DrivebaseError) {
    console.error(error.code, error.statusCode, error.message);
  } else {
    console.error("Unknown error", error);
  }
}

On this page