handle static method
Implementation
static CloudMediaError handle(dynamic error) {
if (error is CloudMediaError) return error;
if (error is SocketException) {
return const CloudMediaError(
code: 'network_error',
message: 'No internet connection.',
);
}
if (error is FirebaseException) {
switch (error.code) {
case 'permission-denied':
return CloudMediaError(
code: 'permission_denied',
message: 'Firebase permission denied.',
originalError: error,
);
case 'not-found':
return CloudMediaError(
code: 'not_found',
message: 'Media not found.',
originalError: error,
);
default:
return CloudMediaError(
code: error.code,
message: error.message ?? 'Firebase error.',
originalError: error,
);
}
}
return CloudMediaError(
code: 'unknown_error',
message: error.toString(),
originalError: error,
);
}