レポ
クラウドで
伸びる人沈む人

連絡特定商取引将来設計運営方針&メルマガSEの彼女は?
成功レポート集 Fedora9インストール! EclipseでJava Oracleバックアップのアーキテクチャ ゼロからHPでCGI 便利ネット知識
無料レポ&講習 IT業界の実態 linux処方箋 Java処方箋 Oracle処方箋 Perl処方箋
try、catch、finallyの理解3

<IT技術の処方箋:try、catch、finallyの理解3>



エラーを吐く可能性のある場合は、
try、catch、finallを使います。


「try、catch、finallyの理解2」でエラー対応のプログラムをみました。↓
http://www.searchman.info/tips/2150.html


では、これらのエラーをもっと細かに処理したい場合はどうするのでしょうか。
以下の場合、ゼロ割の場合、数字以外が入ってきた場合の2パターンを考えてみましょう。


●例でみましょう。

class Abc {
public static void main (String[] args) {
try {
int x = Integer.parseInt(args[0]); //(1)
System.out.println("10/" + x + "=" + (10/x));

} catch(ArithmeticException e) {
System.out.println("ゼロ割" + e.getMessage());

} catch(NumberFormatException e) {
System.out.println("数字以外" + e.getMessage());

} finally {
System.out.println("This program was finished"); //(3)
}
}
}

●実行してみます。以下のように、ゼロ割や数字以外のエラーをキャッチしています。

C:\java>java Abc 0
ゼロ割/ by zero
This program was finished

C:\java>java Abc e
数字以外For input string: "e"
This program was finished

C:\java>java Abc 5
10/5=2
This program was finished

●ここで注意したいのは、ArithmeticExceptionやNumberFormatExceptionのような
クラスをどうやってみるけるか?ということですね。


それは、もちろんJavaDocですかねえ。こちらを参考にしてください。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html


※---try,catch,finallyは、こちらから理解しよう。---※
1番目:try、catch、finallyの理解1「例外処理の概念」
http://www.searchman.info/tips/2140.html

2番目:try、catch、finallyの理解2「例外処理の基本」
http://www.searchman.info/tips/2150.html

3番目:try、catch、finallyの理解3「例外処理を詳細に」
http://www.searchman.info/tips/2160.html
さらに補講教材があります。
以下をクリックしてください。

新人用Java勉強環境の準備

Servlet初心者が勘違いする「典型的な間違い」

クラウドで伸びる人沈む人 ||Copyright © 2005-2020 SearchMan,All Rights Reserved.