Как создать новый объект без фабрики в этом примере?Построение нового объекта общего типа
def checkErrors[TResult, TError, TException <: Throwable](
result: Either[TError, TResult],
exceptionFactory: TError => TException): TResult = {
result.fold(
err => throw exceptionFactory(err),
ok => ok
)}
checkErrors(Foo.run(), (err: ErrorResponse) => new My CustomException(err.toString))
Я хотел бы иметь что-то вроде этого
def checkErrors[TResult, TError, TException <: Throwable](
result: Either[TError, TResult]): TResult = {
result.fold(
err => throw new TException(err.toString),
ok => ok
)}
Я пытался использовать ClassTag без какого-либо успеха, и я не хочу использовать тип стиранию