exception_type 0.0.4 copy "exception_type: ^0.0.4" to clipboard
exception_type: ^0.0.4 copied to clipboard

exception_type is a Dart package that provides a structured way to handle failures and errors in Flutter applications. It includes predefined authentication, database, API, and network failure message [...]

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

0
likes
140
points
259
downloads

Publisher

unverified uploader

Weekly Downloads

exception_type is a Dart package that provides a structured way to handle failures and errors in Flutter applications. It includes predefined authentication, database, API, and network failure messages, along with utility functions to map failures to user-friendly messages.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

equatable, flutter

More

Packages that depend on exception_type