exception_type
A Dart package providing standardized failure messages and error handling classes for authentication, database operations, API failures, and more.
Features
- Predefined error messages for various failure scenarios.
- Structured failure handling using custom failure classes.
- Easy mapping of failures to user-friendly messages.
Installation
Add the following to your pubspec.yaml
:
dependencies:
exception_type: latest_version
Then run:
dart pub get
Usage
Importing the package
import 'package:exception_type/exception_type.dart';
Handling Authentication Failures
import 'package:exception_type/failures/auth_failure.dart';
import 'package:exception_type/constants/auth_failure_messages.dart';
String handleAuthError(AuthFailureType failureType) {
switch (failureType) {
case AuthFailureType.unauthorised:
return AuthFailureMessages.unauthorised;
case AuthFailureType.networkRequestFailed:
return AuthFailureMessages.networkRequestFailed;
default:
return AuthFailureMessages.unknown;
}
}
Handling Database Failures
import 'package:exception_type/failures/db_failure.dart';
import 'package:exception_type/constants/db_failure_messages.dart';
String handleDbError(DbFailureType failureType) {
switch (failureType) {
case DbFailureType.permissionDenied:
return DbFailureMessages.permissionDenied;
case DbFailureType.dataNotFound:
return DbFailureMessages.dataNotFound;
default:
return DbFailureMessages.somethingWrong;
}
}
Mapping Failures to Messages
import 'package:exception_type/exception_type.dart';
String mapFailureToMessage(IFailure failure) {
switch (failure.runtimeType) {
case AuthFailure:
return handleAuthError((failure as AuthFailure).failureType);
case DbFailure:
return handleDbError((failure as DbFailure).failureType);
default:
return "An unexpected error occurred.";
}
}
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License - see the LICENSE file for details.
# exception_type
Libraries
- constants/auth_failure_messages
- constants/db_failure_messages
- constants/server_error_constants
- error_msg/get_auth_error_msg
- error_msg/get_location_error_msg
- error_msg/get_server_error_msg
- error_msg/map_db_failure_to_message
- error_msg/map_failure_to_msg
- exception_type
- failures/api_failure
- failures/auth_failure
- failures/db_failure
- failures/dynamic_link_failure
- failures/failures
- failures/fire_store_db_failure
- failures/firestorage_failure
- failures/input_failure
- failures/location_error
- failures/network_failure
- failures/notification_failure
- failures/widget_failure
- i_errors/i_failure