error.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import 'package:flowy_sdk/protobuf/errors.pb.dart';
  2. import 'package:flowy_sdk/protobuf/ffi_response.pb.dart';
  3. class FlowyError {
  4. late FFIStatusCode _statusCode;
  5. late String _error;
  6. FFIStatusCode get statusCode {
  7. return _statusCode;
  8. }
  9. String get error {
  10. return _error;
  11. }
  12. bool get has_error {
  13. return _statusCode != FFIStatusCode.Ok;
  14. }
  15. String toString() {
  16. return "$_statusCode: $_error";
  17. }
  18. FlowyError({required FFIStatusCode statusCode, required String error}) {
  19. _statusCode = statusCode;
  20. _error = error;
  21. }
  22. factory FlowyError.from(FFIResponse resp) {
  23. return FlowyError(statusCode: resp.code, error: "");
  24. }
  25. UserError userErrorFromFlowyError() {
  26. return UserError.create()
  27. ..code = UserErrorCode.Unknown
  28. ..msg = this.toString();
  29. }
  30. }
  31. class StackTraceError {
  32. Object error;
  33. StackTrace trace;
  34. StackTraceError(
  35. this.error,
  36. this.trace,
  37. );
  38. FlowyError asFlowyError() {
  39. return FlowyError(statusCode: FFIStatusCode.Err, error: this.toString());
  40. }
  41. String toString() {
  42. return '${error.runtimeType}. Stack trace: $trace';
  43. }
  44. }