26.1.8.2 Javaの入力

入力時の問題は主に次の2種類に分類されます.

キーボード入力時に入力中断(control dcontrol c)をすると,プログラムにとっては入力動作が異常終了したように見えます.ファイルから読もうとした時にそのファイルが無かったりアクセス許可が出ていなかったりした場合にも,入力が異常終了します.

数値を入力するつもりで文字列入力をしてしまったり,値の区切りがスペースであるべきなのにコンマにしてしまったりする類の誤りです. 入力が比較的に簡便に指定できる言語,たとえばPascal,Cなどでは,入力誤りがほとんど起きないという仮定のもとでプログラミングをしますので,うまく行っている間はいいのですが,一度入力誤りが起きると,多くの場合,プログラム全体がそこで異常終了してしまいます.若干の誤り検出機能はありますが,それを使っていないプログラムでもコンパイルではエラーができません.こうして出来上ったプログラムは,実用の場で使うと頻繁にダウンすることになってしまいます.

Javaでは,誤り検出を行なわない入力は書くことが出来ません.誤り処理の方法を書くことが義務づけられているのです.そのかわり,誤りの種類に応じてプログラマが様々な異常事態処理を書けるようになっています.また入力形式についても,結局は文字の列にすぎない入力データをどう解釈するかについて,プログラマが細かい指定をすることができます.逆に言えば,その解釈方法までいちいちプログラムしなければならないので,ちょっとした入力をするだけの場合でも,かなり記述をする必要があることになります.