throws のサンプルプログラム

C:\TMP>java StdIO
入力してください:
> 12345
> abcdefg
> ABCDEFG
> ^Z
12345
abcdefg
ABCDEFG
 -- Press any key to exit (Input "c" to continue) --

throws を使ったサンプルプログラムプログラムです。
標準入力から1行単位で読み込み,標準出力に書き出します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして Throws.java の名前で保存して下さい。
    //★ 標準入力から行単位で入力(throws のサンプルプログラム)  前田 稔
    //   Ctrl + Z で終了
    import java.io.*;
    
    public class Throws
    {
        public static void  main(String[] args)
        {   try
            {   Line_IO();  }
            catch(IOException e)
            {   e.printStackTrace();  }
        }
    
        public static void  Line_IO()  throws IOException
        {   String line;
            BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
            PrintWriter print = new PrintWriter(System.out);
            System.out.println("入力してください:");
            System.out.print("> ");
            while((line=input.readLine()) != null)
            {   print.println(line);
                System.out.print("> ");
            }
            print.close();
        }
    }
    
  2. java のソースファイルをコンパイルして class オブジェクトを実行して下さい。
    "> " が表示されたら、一行ずつ入力して下さい。
    入力の終了は Ctrl キーを押しながら Z キーをタイプします。
    入力が終了すると、今までタイプされた文字列が標準出力(DOS 画面)に表示されます。

プログラムの説明

  1. java.io.* をインポートして下さい。
        import java.io.*;
        
  2. 本来は Line_IO メソッドで「try と catch で入力が成功したときと失敗したときの処理を記述」するのですが、 throws(スロウズ)を宣言しています。
        public static void  Line_IO()  throws IOException
        {
        
  3. throws が宣言されたメソッドを呼び出すときは、呼び出し側で try と catch を記述しなければなりません。
    基本的に throws は、処理に失敗した時点ではエラー処理が出来ず、親のメソッドにエラー処理を引き継ぐときにだけ使うべきです。
    もっとも main() メソッドで throws すると Java が適当に処理してくれます。 (^_^;)
        public static void  main(String[] args)
        {   try
            {   Line_IO();  }
            catch(IOException e)
            {   e.printStackTrace();  }
        }
        
  4. 行単位の入力と印字のプログラムは 標準入力→標準出力(行単位) を参照して下さい。

超初心者のプログラム入門(Java2)