A Day In The Life

とあるプログラマの備忘録

例外処理

最近例外処理でよくミスをするのでまとめてみます。

たとえば

private void createFile() {
 try {
  何らかの処理...
 } catch (IOException e) {
  throw new IOEception(e);
 }
}

と書くとエラーになります。正しくは

private void createFile() throws IOException {
 try {
  何らかの処理...
 } catch (IOException e) {
  throw new IOEception(e);
 }
}

になります。
throwsでスローする例外を定義しないとエラーになります。

.NETではthrowsを書かなくてもエラーにならないのに...。

この違いがわからず少し苦労しました。

2009年3月13日追記

当時検査例外と非検査例外の違いを理解してなかったみたいです。何とも未熟な文章...。