109 lines
2.6 KiB
Dart
109 lines
2.6 KiB
Dart
class AppException implements Exception {
|
|
final String message;
|
|
final String prefix;
|
|
final int? statusCode;
|
|
final dynamic originalError;
|
|
|
|
AppException([
|
|
this.message = 'An unknown error occurred.',
|
|
this.prefix = '',
|
|
this.statusCode,
|
|
this.originalError,
|
|
]);
|
|
|
|
@override
|
|
String toString() {
|
|
return '$prefix$message';
|
|
}
|
|
}
|
|
|
|
class FetchDataException extends AppException {
|
|
FetchDataException([String? message, int? statusCode, originalError])
|
|
: super(
|
|
message ?? 'Error During Communication: ',
|
|
'Network Error',
|
|
statusCode,
|
|
originalError,
|
|
);
|
|
}
|
|
|
|
class AuthenticationException extends AppException {
|
|
AuthenticationException([String? message, int? statusCode, originalError])
|
|
: super(
|
|
message ?? 'Authentication Failed.',
|
|
'Auth Error: ',
|
|
statusCode,
|
|
originalError,
|
|
);
|
|
}
|
|
|
|
class NetworkConnectionException extends AppException {
|
|
NetworkConnectionException([String? message, originalError])
|
|
: super(
|
|
message ?? 'No internet connection available.',
|
|
'Connection Error: ',
|
|
null,
|
|
originalError,
|
|
);
|
|
}
|
|
|
|
class TimeoutException extends AppException {
|
|
TimeoutException([String? message, originalError])
|
|
: super(
|
|
message ?? 'Request timed out.',
|
|
'Timeout Error: ',
|
|
null,
|
|
originalError,
|
|
);
|
|
}
|
|
|
|
class ServerException extends AppException {
|
|
ServerException([String? message, int? statusCode, originalError])
|
|
: super(
|
|
message ?? 'Server error occurred.',
|
|
'Server Error: ',
|
|
statusCode,
|
|
originalError,
|
|
);
|
|
}
|
|
|
|
class BadRequestException extends AppException {
|
|
BadRequestException([String? message, int? statusCode, originalError])
|
|
: super(
|
|
message ?? 'Bad request.',
|
|
'Bad Request Error: ',
|
|
statusCode,
|
|
originalError,
|
|
);
|
|
}
|
|
|
|
class NotFoundException extends AppException {
|
|
NotFoundException([String? message, int? statusCode, originalError])
|
|
: super(
|
|
message ?? 'Resource not found.',
|
|
'Not Found Error: ',
|
|
statusCode,
|
|
originalError,
|
|
);
|
|
}
|
|
|
|
class ForbiddenException extends AppException {
|
|
ForbiddenException([String? message, int? statusCode, originalError])
|
|
: super(
|
|
message ?? 'Access forbidden.',
|
|
'Forbidden Error: ',
|
|
statusCode,
|
|
originalError,
|
|
);
|
|
}
|
|
|
|
class RateLimitException extends AppException {
|
|
RateLimitException([String? message, int? statusCode, originalError])
|
|
: super(
|
|
message ?? 'Rate limit exceeded.',
|
|
'Rate Limit Error: ',
|
|
statusCode,
|
|
originalError,
|
|
);
|
|
}
|