LoginSignup
11
13

More than 5 years have passed since last update.

独自の例外クラスを複数作る理由

Last updated at Posted at 2016-05-08

弊社の新入社員の子たちにJavaを教えていた後輩から、こういった質問がありましたって聞いた気がしたので自分もアウトプットしておきます。
実際に業務のソースコードを見ると、複数の独自例外クラスを定義している場合が多々あります。例えば、以下の例ではMyException1、MyException2、MyException3がそれにあたります。なぜ独自例外クラスを複数定義するのか?(複数じゃない場合もありますが)
それは、(以下のコメントにもある通り)発生した例外の種類によって処理を分けたいからです。
あまりイメージがわかないかもしれませんが、実際の業務では、発生した例外の種類によって処理を分けたいといったケースが多々あります。そういった理由から独自の例外クラスを複数作っています。

try {

    // ~
    // 何らかの処理
    // ~

} catch (MyException1 e) {
    // MyException1が発生した時の処理
} catch (MyException2 e) {
    // MyException2が発生した時の処理
} catch (MyException3 e) {
    // MyException3が発生した時の処理
} catch (Exception e) {
    // 上記の例外以外が発生したけど何らかのハンドリングをしたい時は必要
}
11
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
13