Eclipseのtry-catch自動生成

 

プログラミングでは、(プログラム上の)決まり文句というのがあります。
毎度同じような文(決まり文句)を入力するのは面倒なので、
決まっているなら、自動で書いてくれよ。と思ったりしますよね。

毎度、管理人イガジーです。

Eclipseは、そうなんです、自動でそういった「決まり文句」を生成してくれます。
例えば
int a=Integer.parseInt(s);(s は “123”というようなString)という文を書いたら
その文を範囲指定して Source:Surround With:Try/catch Block
を指定すると

try {
	int a=Integer.parseInt(s);
} catch (NumberFormatException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

という「決まり文句」が生成されます。
ここで、うれしいのは、catch (NumberFormatException e)と
対応する例外名がちゃんと入る ということです。
さらに

FileReader fr=null;
BufferedReader br=null;
fr = new FileReader("test.dat");
br = new BufferedReader(fr);
String buf=br.readLine();

と書いて、これ全体を範囲指定して
Source:Surround With:Try/catch Block を指定すると、あっという間に

try {
	FileReader fr=null;
	BufferedReader br=null;
	fr = new FileReader("test.dat");
	br = new BufferedReader(fr);
	String buf=br.readLine();
} catch (FileNotFoundException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
} catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

が出来上がります。
ちゃんと、FileNotFoundException e (new FileReader用) と
IOException e (br.readLine用)の catch ブロックができるって
感動しませんか?

管理人イガジーは、これまで調べるのが面倒なので何でもかんでも
catch (Exception e) と書いてたのですが、これを機に、ちゃんとした
Exception名付きの catch ブロックにしようと思います。

Source:Surround With には、Try/catch だけではなく
do-while, for, if, runnable, while などで囲うこともできるようです。
便利です。お試しあれ。

参考→例外Exceptionとは何か?

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)