in examples/demo-app/src/cloud-providers/carto/carto-provider.js [345:385]
_manageErrors(error, throwException = true) {
let message;
if (error && error.message) {
message = error.message;
switch (error.message) {
case 'No client ID has been specified':
Console.error('No ClientID set for CARTO provider');
break;
case 'Cannot set the client ID more than once':
Console.error('CARTO provider already initialized');
break;
case (error.message.match(/relation "[a-zA-Z0-9_]+" does not exist/) || {}).input:
Console.error('CARTO custom storage is not properly initialized');
message = 'Custom storage is not properly initialized';
break;
case (
error.message.match(/Failed to copy to keplergl_[a-zA-Z0-9_]+: Too many retries/) || {}
).input:
Console.error('CARTO Rate limit exceeded');
message =
"Failed to upload. You've exceeded the number of datasets allowed with your plan. Consider upgrading your plan.";
break;
case (error.message.match(/[a-zA-Z0-9_\s:]+: DB Quota exceeded/) || {}).input:
Console.error('CARTO DB Quota exceeded');
message =
"Failed to upload. You've exceeded your account's disk storage limit. Consider upgrading your plan.";
break;
default:
Console.error(`CARTO provider: ${message}`);
}
} else {
message = 'General error in CARTO provider';
Console.error(message);
}
// Use 'CARTO' as error code in order to show provider in notifications
if (throwException) {
throw new Error(message);
}
}