目次> 第5章> 5.2 | TOPUPPREVNEXT |
例外が発生しないように、プログラムを工夫してみましょう。
まず、コマンド・ラインにデータがあるかどうかをしらべ、 ない場合にはゼロとみなすことにしましょう。
第2パラメータについても同様です。
if から始まる文を if文 と呼びます。
if というつづりの後に、 値が true か false になる式 をカッコでくくって書き、文を1つ続けます。 具体的には、文が1つきてセミコロンで終わる場合と、 中カッコにくくられたブロックがくる場合があります。
if 文は、カッコの中を計算し、結果が true ときだけ、 if文に書かれた文を実行します。 ここでは、
「より大きい」が判りにくかったら、「以上」を使って次のように書いても全く同じ動作をします。
if 文 は、もう1つ別の書き方があります。商を計算する再に、arg2 の値がゼロであれば、
if(arg2 == 0) pane.add(new JLabel("商:−")); else pane.add(new JLabel("商:"+ (arg1/arg2)));
カッコでくくられたの値が true のときは、カッコのすぐ後に書かれた文を実行し、 false のときは else の後の文を実行します。
以上の点を変更して、Compute2.java を作成しました。
うまくいっていますね。では、こんなのはどうでしょう? (下図の赤の下線)
例外が発生しました。「Compute2.java の 16行目で呼ばれている、 java.lang.Integer.parseInt で、4.5 という文字列に対して、 NumberFormatException という例外が発生した」と表示されています。
この例外に対して、どのように対処するのがよいのでしょうか?
4.5 というデータは、
この章の【テーマ】に述べた3つの前提から外れています。
このように、あらかじめ設定した問題の範囲をこえたデータに対して、
「 例外が発生しないようにする 」 という対処方法はあまり賢くありません。
いくら対処を綿密にしても「キリがない」からです。
前のセクションで掲げた、(1)なにもしない、 あるいは
(2)例外が発生したことを検知して対処する といった方法が有効です。
ここでは、 「 (1)なにもしない 」 ことにしましょう。 これもりっぱな対処方法です。(^^)
更新日:2006-04-06 | TOPUPPREVNEXT |