51 lines
1.4 KiB
Dart
51 lines
1.4 KiB
Dart
/// Exception de base pour l'application
|
|
abstract class AppException implements Exception {
|
|
final String message;
|
|
final String? code;
|
|
|
|
const AppException(this.message, [this.code]);
|
|
|
|
@override
|
|
String toString() => 'AppException: $message${code != null ? ' (Code: $code)' : ''}';
|
|
}
|
|
|
|
/// Exception serveur
|
|
class ServerException extends AppException {
|
|
const ServerException(super.message, [super.code]);
|
|
|
|
@override
|
|
String toString() => 'ServerException: $message${code != null ? ' (Code: $code)' : ''}';
|
|
}
|
|
|
|
/// Exception de cache
|
|
class CacheException extends AppException {
|
|
const CacheException(super.message, [super.code]);
|
|
|
|
@override
|
|
String toString() => 'CacheException: $message${code != null ? ' (Code: $code)' : ''}';
|
|
}
|
|
|
|
/// Exception de réseau
|
|
class NetworkException extends AppException {
|
|
const NetworkException(super.message, [super.code]);
|
|
|
|
@override
|
|
String toString() => 'NetworkException: $message${code != null ? ' (Code: $code)' : ''}';
|
|
}
|
|
|
|
/// Exception d'authentification
|
|
class AuthException extends AppException {
|
|
const AuthException(super.message, [super.code]);
|
|
|
|
@override
|
|
String toString() => 'AuthException: $message${code != null ? ' (Code: $code)' : ''}';
|
|
}
|
|
|
|
/// Exception de validation
|
|
class ValidationException extends AppException {
|
|
const ValidationException(super.message, [super.code]);
|
|
|
|
@override
|
|
String toString() => 'ValidationException: $message${code != null ? ' (Code: $code)' : ''}';
|
|
}
|