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 withcodeand optionalstatusCodeApiError: GraphQL/API failures (errorsarray included)AuthenticationError: missing/invalid credentials (401)NetworkError: request transport/connectivity failuresUploadError: upload-specific failures (includes optionalsessionId)
Recommended pattern
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);
}
}