>>34
たぶん一般的な方法じゃないと思うけど、
俺はメソッドで例外を投げる代わりに以下のようなメンバを持つFunctionResult<T>
みたいな型を作ってそれを返すようにしてる。

- bool Success { get; }
- Exception Exception { get; }
- T Result { get; }
- static implicit operator T(FunctionResult<T>) {}