@multicloud-io/client
Version:
Customer-facing Multicloud API client with limited field exposure
66 lines • 2.3 kB
JavaScript
;
/**
* Custom exception classes for Multicloud connections
*
* These exceptions provide structured error handling for different types
* of failures that can occur when connecting to Multicloud servers.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.MulticloudResponseError = exports.MulticloudNetworkError = exports.MulticloudConfigurationError = exports.MulticloudAuthenticationError = exports.MulticloudConnectionError = void 0;
/**
* Base exception for all Multicloud connection-related errors
*/
class MulticloudConnectionError extends Error {
constructor(message, cause) {
super(message);
this.cause = cause;
this.name = 'MulticloudConnectionError';
// Maintain proper stack trace (when available)
if (Error.captureStackTrace) {
Error.captureStackTrace(this, MulticloudConnectionError);
}
}
}
exports.MulticloudConnectionError = MulticloudConnectionError;
/**
* Exception for authentication-related errors
*/
class MulticloudAuthenticationError extends MulticloudConnectionError {
constructor(message, cause) {
super(message, cause);
this.name = 'MulticloudAuthenticationError';
}
}
exports.MulticloudAuthenticationError = MulticloudAuthenticationError;
/**
* Exception for configuration-related errors
*/
class MulticloudConfigurationError extends MulticloudConnectionError {
constructor(message, cause) {
super(message, cause);
this.name = 'MulticloudConfigurationError';
}
}
exports.MulticloudConfigurationError = MulticloudConfigurationError;
/**
* Exception for HTTP/network-related errors
*/
class MulticloudNetworkError extends MulticloudConnectionError {
constructor(message, statusCode, cause) {
super(message, cause);
this.statusCode = statusCode;
this.name = 'MulticloudNetworkError';
}
}
exports.MulticloudNetworkError = MulticloudNetworkError;
/**
* Exception for API response parsing errors
*/
class MulticloudResponseError extends MulticloudConnectionError {
constructor(message, cause) {
super(message, cause);
this.name = 'MulticloudResponseError';
}
}
exports.MulticloudResponseError = MulticloudResponseError;
//# sourceMappingURL=exceptions.js.map