Open sei40kr opened 3 years ago
Repository の呼び出し全てに try〜catch する必要はなくて、下位の Controller で全てキャッチしてあげるとよいです。
Kotlin 含む Java 系の例外は2種類あって
Exception
RuntimeException
更に Spring は Controller に対して ExceptionHandler というものを設定することができて、これでコントローラーのメソッドに対して例外が起こった場合の処理を記述できます。 https://www.baeldung.com/exception-handling-for-rest-with-spring
ExceptionHandler
そこでフロントエンドが parse しやすいエラーメッセージをこしらえて返してあげると楽です。
なるほど、参考になります。ありがとうございます!(Contollerでキャッチで大丈夫なんですね〜)
Repository の呼び出し全てに try〜catch する必要はなくて、下位の Controller で全てキャッチしてあげるとよいです。
Kotlin 含む Java 系の例外は2種類あって
Exception
(とそのサブクラス) -> try〜catch するか throws で呼び出し元に委譲しないとコンパイルできない, 呼び出し側に「こういう理由で失敗するかもよー」と教える効果がある (ex. IOException)RuntimeException
(とそのサブクラス) -> try〜catch, throws がなくても怒られない, 基本的に気にしてもしょうがないエラー (ex. SQLException, UncheckedIOException)更に Spring は Controller に対して
ExceptionHandler
というものを設定することができて、これでコントローラーのメソッドに対して例外が起こった場合の処理を記述できます。 https://www.baeldung.com/exception-handling-for-rest-with-springそこでフロントエンドが parse しやすいエラーメッセージをこしらえて返してあげると楽です。