runable
This commit is contained in:
30
lib/core/errors/exceptions.dart
Normal file
30
lib/core/errors/exceptions.dart
Normal file
@@ -0,0 +1,30 @@
|
||||
/// Custom exceptions for the application
|
||||
class ServerException implements Exception {
|
||||
final String message;
|
||||
ServerException([this.message = 'Server error occurred']);
|
||||
}
|
||||
|
||||
class CacheException implements Exception {
|
||||
final String message;
|
||||
CacheException([this.message = 'Cache error occurred']);
|
||||
}
|
||||
|
||||
class NetworkException implements Exception {
|
||||
final String message;
|
||||
NetworkException([this.message = 'Network error occurred']);
|
||||
}
|
||||
|
||||
class ValidationException implements Exception {
|
||||
final String message;
|
||||
ValidationException([this.message = 'Validation error occurred']);
|
||||
}
|
||||
|
||||
class NotFoundException implements Exception {
|
||||
final String message;
|
||||
NotFoundException([this.message = 'Resource not found']);
|
||||
}
|
||||
|
||||
class UnauthorizedException implements Exception {
|
||||
final String message;
|
||||
UnauthorizedException([this.message = 'Unauthorized access']);
|
||||
}
|
||||
41
lib/core/errors/failures.dart
Normal file
41
lib/core/errors/failures.dart
Normal file
@@ -0,0 +1,41 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
/// Base failure class
|
||||
abstract class Failure extends Equatable {
|
||||
final String message;
|
||||
|
||||
const Failure(this.message);
|
||||
|
||||
@override
|
||||
List<Object> get props => [message];
|
||||
}
|
||||
|
||||
/// Server failure
|
||||
class ServerFailure extends Failure {
|
||||
const ServerFailure([super.message = 'Server failure occurred']);
|
||||
}
|
||||
|
||||
/// Cache failure
|
||||
class CacheFailure extends Failure {
|
||||
const CacheFailure([super.message = 'Cache failure occurred']);
|
||||
}
|
||||
|
||||
/// Network failure
|
||||
class NetworkFailure extends Failure {
|
||||
const NetworkFailure([super.message = 'Network failure occurred']);
|
||||
}
|
||||
|
||||
/// Validation failure
|
||||
class ValidationFailure extends Failure {
|
||||
const ValidationFailure([super.message = 'Validation failure occurred']);
|
||||
}
|
||||
|
||||
/// Not found failure
|
||||
class NotFoundFailure extends Failure {
|
||||
const NotFoundFailure([super.message = 'Resource not found']);
|
||||
}
|
||||
|
||||
/// Unauthorized failure
|
||||
class UnauthorizedFailure extends Failure {
|
||||
const UnauthorizedFailure([super.message = 'Unauthorized access']);
|
||||
}
|
||||
Reference in New Issue
Block a user