mirror of
https://github.com/esiur/esiur-dart.git
synced 2026-04-03 17:58:21 +00:00
31 lines
695 B
Dart
31 lines
695 B
Dart
import 'ExceptionCode.dart';
|
|
import 'ErrorType.dart';
|
|
|
|
class AsyncException implements Exception {
|
|
final ErrorType type;
|
|
final int code;
|
|
final String? message;
|
|
|
|
AsyncException(this.type, this.code, this.message) {}
|
|
|
|
static AsyncException toAsyncException(Exception ex) {
|
|
return ex is AsyncException
|
|
? ex
|
|
: new AsyncException(ErrorType.Exception, 0, ex.toString());
|
|
}
|
|
|
|
String errMsg() {
|
|
if (type == ErrorType.Management)
|
|
return ExceptionCode.values.elementAt(code).toString() +
|
|
": " +
|
|
(message ?? "");
|
|
else
|
|
return code.toString() + ": " + (message ?? '');
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return errMsg();
|
|
}
|
|
}
|