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 [...]

example/main.dart

// example/main.dart

import 'package:exception_type/exception_type.dart';
import 'package:exception_type/failures/auth_failure.dart';
import 'package:exception_type/failures/db_failure.dart';
import 'package:exception_type/constants/auth_failure_messages.dart';
import 'package:exception_type/constants/db_failure_messages.dart';

void main() {
  // Example: Handling Authentication Failure
  AuthFailure authFailure = AuthFailure(AuthFailureType.wrongPassword);
  print("Auth Failure: ${mapAuthFailureToMessage(authFailure.failureType)}");

  // Example: Handling Database Failure
  DbFailure dbFailure = DbFailure(DbFailureType.dataNotFound);
  print("DB Failure: ${mapDbFailureToMessage(dbFailure.failureType)}");

  // Example: General Failure Handling
  IFailure failure = AuthFailure(AuthFailureType.networkRequestFailed);
  print("General Failure: ${mapFailureToMessage(failure)}");
}

String mapAuthFailureToMessage(AuthFailureType failureType) {
  switch (failureType) {
    case AuthFailureType.unknown:
      return AuthFailureMessages.unknown;
    case AuthFailureType.unauthorised:
      return AuthFailureMessages.unauthorised;
    case AuthFailureType.networkRequestFailed:
      return AuthFailureMessages.networkRequestFailed;
    default:
      return AuthFailureMessages.unknown;
  }
}

String mapDbFailureToMessage(DbFailureType failureType) {
  switch (failureType) {
    case DbFailureType.permissionDenied:
      return DbFailureMessages.permissionDenied;
    case DbFailureType.dataNotFound:
      return DbFailureMessages.dataNotFound;
    default:
      return DbFailureMessages.somethingWrong;
  }
}

String mapFailureToMessage(IFailure failure) {
  switch (failure.runtimeType) {
    case AuthFailure:
      return mapAuthFailureToMessage((failure as AuthFailure).failureType);
    case DbFailure:
      return mapDbFailureToMessage((failure as DbFailure).failureType);
    default:
      return "An unexpected error occurred.";
  }
}
0
likes
140
points
253
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