Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

例外処理について

try{
 例外が発生する可能性があるコード
}catch(<例外の型><変数名>){
 例外が発生した場合のコード
}

上記でcatch(<例外の型><変数名>)の箇所なのですが、
Exceptionでほぼ全ての例外をキャッチできると思うのですが、個別に記述するメリットってあるのでしょうか?
例えば、ArrayIndexOutOfBoundsExceptionや、NumberFormatExceptionや、ArithmeticException等を順々に記述するよりも、Exceptionと記述すればまとめてキャッチできると思うのですが。
複数指定する事の意味というのはあるのでしょうか。

今の時点は入門書を読んでいるだけなのですが、開発等をする場合には、Exceptionと記述する事はあまりないと聞いたもので。

参考程度に教えて頂ければと思います。

4

回答

79214

閲覧

4件の回答

評価

0

個別に記述できるということは、
個別に処理できるということですね。

データベースアクセスに失敗して発生した例外だったらロールバックする、とかね。

ファイルが見つからなくても処理は実行するけど、
DB接続に失敗したらワーニングログ吐いて終了。とか。

色々書けますねぇ。

評価

0

例えば画面に個別のエラーメッセージが必要なら?
ArrayIndexOutOfBoundsException「パラメータが多すぎます」
NumberFormatException「数字で指定してください」
etc.

例外はそれぞれ原因が違うのだから、一括で扱って良いとは限らない。
例外が発生しても何もしないでいい、または全部同じ処理でいいなら、分ける意味ないけどね。

評価

0

javerさんは数年前の俺ですか?

たぶんまだスローするところまで理解が進んでないので、この疑問があるのだと思いますが、

いろいろな対応をするためです。



・まとめてキャッチする例外処理
try{
 ナンパする
}catch(なんかがわるくて失敗する){
  あきらめる
}

・個別にキャッチする例外処理
try{
  ナンパする
}catch(顔が悪いから失敗する){
  顔を直す
}catch(性格が悪いから失敗する){
  性格を直す
}

ね、どんな例外が発生する可能性があるのかを把握しておかないといろいろな対処ができないでしょ?
今はとりあえずナンパの方法をいろいろと調べている状態だと思うので入門書のように例外はExceptionでいいと思いますよ。
(ちと、例が悪いですねすみません)

評価

0

ご回答して頂いた皆様
ありがとうございます。

とても参考になりました。
ナンパはされた事ありませんが、大変理解し易かったです。
Javaの習熟中ではありますが、Exceptionで括らず、
個別に例外処理を記述しようと思います。
ありがとうございました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。