どの例外でcatchすればいいのですか?
例外の使い方を理解できていません。
さっき検索してみて下の質問と回答を見つけました。
例外処理がまったくわかりません!!
http://www.okweb.ne.jp/kotaeru.php3?q=704380
この中の#2さんの回答、
> catch (FileNotFoundException e){ ・・・ }
> catch (IOException e){ ・・・ }
> などと分けて書かなくとも、
> catch (Exception e){ ・・・ }
> と書けば、すべての例外を処理できます。
を読むと「それなら、どんな例外でもすべて"(Exception e)"でcatchすればいいじゃん」と思うのですが駄目ですか?
もし駄目ならどんな基準でExceptionを選んでいるのですか?
例えば、下のような二分検索木への挿入メソッドの場合、
どこでどのような例外を使ってcatchすればいいのですか?
私の思うような例外を入れてみましたが、どんなエラーが出るかも分からないし…。
だからと言ってthrow ~ catchを入れないとJBuilderが怒るんですよね…。
public void insert(int el) {
IntBSTNode p = root, prev = null;
try {
while (p != null) {
prev = p;
if (p.key < el)
p = p.right;
else
p = p.left;
}
if (root == null)
root = new IntBSTNode(el);
else if (prev.key < el)
prev.right = new IntBSTNode(el);
else
prev.left = new IntBSTNode(el);
} catch (Exception x)
{
System.out.println("エラーだ! 何か表示");
}
}
分かる方、説明をお願いします。
お礼
回答ありがとうございましたー