1から始めるJava

Java【入門編】~例外処理 try~catchの使い方

ここではJavaでの例外処理を行う方法を解説します。

 

例外処理とは何か?

例外処理とはプログラムで想定外のエラーが出た場合に行う処理のことです。

これを設定しておくとエラーでプログラムの動作を止めずに実行することもできます。

 

例外処理のやり方

例外処理は try-catch文を使って行います。

try-catch文は次のようにして使います。

try {

処理

}catch (エラー内容 e) {

エラー発生時の処理

}

処理

try {} の中の処理の中で起こったエラーについてcatch() { でどのように処理を行うか定めています。

catch(){} で指定するエラーの内容は下の画像の白く塗られている部分のことです。

ここをコピーして catchのエラー内容のところにペーストすればOKです。

スポンサーリンク


実際にプログラムを組んでみる

今回はファイルが見つからないときのエラーに対する例外処理を行うプログラムを組みます。

プログラムの内容

・テキストファイルを読み込み出力する
・読み込むファイル名はキーボードで入力する
・ファイルが見つからない場合は入力をやり直させる

ソースコード

import java.io.*;

public class Sample17 {

public static void main(String[] args) throws IOException{

判定();

}

static String 入力() throws IOException{

BufferedReader br=new BufferedReader(new

InputStreamReader(System.in));

System.out.println("ファイルのパスを入力してください");

String path=br.readLine();

System.out.println();

return path;

}

static void 処理() throws IOException{

String path=入力();

FileReader fr=new FileReader(new File(path));

int data;

while((data=fr.read())!=-1) {

System.out.print((char)data);

}

fr.close();

}

static void 判定() throws IOException{

try {

処理();

}catch(FileNotFoundException e) {

System.out.println("ファイルを見つけられません");

判定();

}

}

}

 

実行結果

C:\Users\Documents\Java\jdk1.8.0_51>java Sample17
ファイルのパスを入力してください
tファイルを見つけられません
ファイルのパスを入力してください
tファイルを見つけられません
ファイルのパスを入力してください
text2.txtHello World!!
Thank You!
Good Bye.

 

各メソッドについての解説

 

メソッドの使い方が分からない方

あわせて読みたい
Java【入門編】~メソッドの使い方~ここではメソッドについて解説していきます。 前:配列 http://mittsu2017.com/post-77/ ...

 

入力クラス

ソースコード

static String 入力() throws IOException{

BufferedReader br=new BufferedReader(new

InputStreamReader(System.in));

System.out.println("ファイルのパスを入力してください");

String path=br.readLine();

System.out.println();

return path;

}

このメソッドでは読み込むファイルの名前を入力させるものです。
return文で入力されたパスを返します。

処理メソッド

ソースコード

static void 処理() throws IOException{

String path=入力();

FileReader fr=new FileReader(new File(path));

int data;

while((data=fr.read())!=-1) {

System.out.print((char)data);

}

fr.close();

}

 

このメソッドではテキストファイルの内容を読み込んで出力しています。
このメソッドはテキストファイルの読み込みの記事で使っているプログラムSample15と同じです。

あわせて読みたい
Java【入門編】~テキストファイルの読み込みここではテキストファイルの内容を読み込む方法を解説します。 Javaでテキストファイルの内容を読み込む方法は1文字ずつ読み込む方法...

 

判定メソッド

ソースコード

static void 判定() throws IOException{

try {

処理();

}catch(FileNotFoundException e) {

System.out.println("ファイルを見つけられません");

判定();

}

}

ここでtry catch構文を使っています。
tryの中で処理メソッドを実行しています。
処理メソッドでファイルが見つからないエラーが出たときは「ファイルを見つけられません」と表示しもう一度入力からやり直させます。

メインメソッド

ソースコード

public static void main(String[] args) throws IOException{

判定();

}

メインメソッドでは判定メソッドを実行させます。

今回のプログラムは判定メソッドを実行すれば他のメソッドも実行できますので、メインメソッドは判定メソッドのみ実行させるようにしています。

スポンサーリンク


あわせて読みたい
サイトマップ ...