例外を使うか、呼び出し元でエラー処理を書くか

例外処理は構造化されたgotoのようなもので、どの処理で例外が出て抜けたのかが分かり辛い。

Result型を返して呼び出し元で処理する場合はフローを上から追っていくだけで理解できる。

では、例外のメリットはなにか。それは多重ネストから一発で抜け出せること。
このようなケースでResult型を適用すると、各層でエラーチェックが必要になるが、try-catchなら一発で抜け出す事ができる。良い点と悪い点は表裏一体だということ。