diff --git a/lib/main/exceptions/cache_exception.dart b/lib/main/exceptions/cache_exception.dart new file mode 100644 index 000000000..cf83c56a4 --- /dev/null +++ b/lib/main/exceptions/cache_exception.dart @@ -0,0 +1,16 @@ + +import 'package:equatable/equatable.dart'; + +abstract class CacheException with EquatableMixin implements Exception { + + final String? message; + + const CacheException({this.message}); +} + +class UnknownCacheError extends CacheException { + const UnknownCacheError({String? message}) : super(message: message); + + @override + List get props => []; +} \ No newline at end of file diff --git a/lib/main/exceptions/cache_exception_thrower.dart b/lib/main/exceptions/cache_exception_thrower.dart new file mode 100644 index 000000000..1e823710c --- /dev/null +++ b/lib/main/exceptions/cache_exception_thrower.dart @@ -0,0 +1,10 @@ +import 'package:tmail_ui_user/main/exceptions/cache_exception.dart'; +import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart'; + +class CacheExceptionThrower extends ExceptionThrower { + + @override + void throwException(dynamic exception) { + throw UnknownCacheError(message: exception.toString()); + } +} \ No newline at end of file