带有 TypeError 异常的 Dart 结果

Dart Result with TypeError Exception

我有以下 Result 对象:

class Result<T> {
  Result._();

  factory Result.success(T t) = ResultSuccess<T>;

  factory Result.error(T exception) = ResultError<T>;
}

class ResultError<T> extends Result<T> {
  final T exception;

  ResultError(this.exception) : super._();
}

class ResultSuccess<T> extends Result<T> {
  final T value;

  ResultSuccess(this.value) : super._();
}

我有一个函数 return 是一个 Future 和一个 Result 对象,如下所示:

Future<Result<bool>> doSomething() {
    return future
      .then((value) => Result.success(true))
      .catch ((error) => Result.error(Exception()));
  }

我想我正在以正确的方式使用 Generics,但是,我收到以下错误:

type 'ResultError<DatabaseException>' is not a subtype of type 'FutureOr<Result<bool>>'

如何使用 Result.error return 一个 Exception

错误子类应该是这样的:

class ResultError<T> extends Result<T> {
  final Object exception;

  ResultError(this.exception) : super._();
}

类型T是针对数据的,不是异常的类型。