>>268
初めから例外を投げるではチェックのためにtryを書かなければならない
パフォーマンスが悪いしifで分岐する処理を書きたいという場面では構文的に不利で不適切

変数の型が見えなくなるほど長いスコープは普通は書かないので考慮しなくて良い

エラーというのは幾つかの典型的なエラーに分類可能
例であげたようにNotFoundやAuthErrorといった幾つかの典型的なエラーを定義しておけば良い
新しいエラーを定義する必要はない