Outcome<TResult>
Represents the outcome of an operation which could be a result of type TResult or an exception.
Gets the exception that occurred during the operation, if any.
Gets the result of the operation, if any.
Throws an exception if the operation produced an exception.