クラウドで 伸びる人沈む人 |
|
|
|
try、catch、finallyの理解2
<IT技術の処方箋:try、catch、finallyの理解2> エラーを吐く可能性のある場合は、 try、catch、finallyを使いますね。 ※特にfinallyの使い方をしっかり覚えましょう 今回は、具体的にみていきましょう。 概念を復習したい人は、↓から。 http://www.searchman.info/tips/2140.html ↑では、エラー対応のないプログラムをみましたね。 それを、以下のようにtry,catch,finally をつけて改造します。 class Abc { public static void main (String[] args) { try { int x = Integer.parseInt(args[0]); System.out.println("10/" + x + "=" + (10/x)); } catch(Exception e) { System.err.println(e.getMessage()); } finally { System.out.println("--end---"); } } } catchの処理を入れることで、 エラーが起きてもプログラムが落ちることがありません。 finallyの処理を入れることで、 エラーが起きても、正常処理でも、 finallyの処理は実行されます。 ちなみに、エラーを起した 実行サンプルは以下です。 ・ゼロ割でエラー C:\java>java Abc 0 / by zero --end--- ・文字列を入れてエラー C:\java>java Abc xxx For input string: "xxx" --end--- このように、プログラムでエラー処理も制御できます。 今回は、エラーが起きたときに、e.getMessage() のエラーメッセージを表示してみました。 さて、今回はエラーを丸ごとcatchして同じ処理にしましたが、 エラーも場合わけができるのです。 つまり、ゼロ割の場合と、数字以外のものが入ってきた場合の 二つに分けてエラーを考えることができます。 そんな場合は、どうするのでしょうか。 続きをみてみる場合は、こちらから http://www.searchman.info/tips/2160.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 |