コンソールより値を取得するクラスを使うと、様々なエラーが発生する可能性があります。Java では、すべてのエラーは Exception で表現されます。エラー(Exception)が発生する可能性がある場合、エラーが起きた場合の対処法を書いておかなければなりません。
このメソッドに throws IOException と書かなければ、コンパイルエラーとなります。readLine() メソッドでは、IOException が発生する可能性があるのでエラーの対処をしなければなりません。 ここでは、throws IOException と書くことでエラーの対処をしています。これはこのメソッドで発生する IOException について、エラー処理をせずにこのメソッドを使用している(呼び出している)ところにそのままエラー(IOException)を渡すことを意味しています。つまり、メソッド内で発生する IOException についてエラー処理を行なわないことを宣言していることになります。
import java.io.*;
/**
* コンソールから入力された値を取得します。
* @author 作成者
* @version ヴァージョン
*/
public class ConsoleInput {
/**
* 引数の値をコンソールに出力し、コンソールより
* 入力された値を戻り値として返却します。
*/
public String getConsole(String outputConsole)
throws IOException {
System.out.println(outputConsole);
BufferedReader buf =
new BufferedReader(
new InputStreamReader(System.in),1);
String inputValue = buf.readLine();
return inputValue;
}
}