• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「IOException は対応する try 文の本体ではスローされません。」というエラー。)

IOException は対応する try 文の本体ではスローされません

このQ&Aのポイント
  • PrintWriterクラスのcloseメソッドは、Closableインターフェースのcloseとwriterクラスのcloseと同じ定義だと考えていたのですが、きっとIOExceptionが発生すると考えていたのですが・・・違うのでしょうか?
  • Finallyの中にtryを書くと何か問題が起こるのでしょうか?
  • ソースをそのまま書くのは気が引けるのですが、どうか教えて頂けないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • koki_m
  • ベストアンサー率83% (45/54)
回答No.1

こんばんは。 PrintWriterクラスのclose()メソッドはIOExceptionをスローしません。 APIガイドを調べるのが一番の近道かと思います。 Writerクラスのclose()抽象メソッドの実装ですが、例外は無視してるみたいですね。 > Finallyの中にtryを書くと何か問題が起こるのでしょうか? 問題ありません。正しいクローズ処理です。

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/PrintWriter.html#close()
tennyasu
質問者

お礼

お返事が送れてごめんなさい。 ソースまで確認して、やっと納得がいきました。 少しはJavaの調べ方が解ってきたと思います。 ありがとうございました。

その他の回答 (1)

  • koki_m
  • ベストアンサー率83% (45/54)
回答No.2

ANo.1の付けたしです。 > > Finallyの中にtryを書くと何か問題が起こるのでしょうか? > 問題ありません。正しいクローズ処理です。 ↑close()メソッドが例外をスローする場合は正しい処理です。 PrintWriterクラスの場合は例外をスローしないので正しくありません。

tennyasu
質問者

お礼

例えば、BufferedWriterの場合には正しいという事ですね。 ちゃんとソースを確認して、納得がいきました。 本当にありがとうございました。

関連するQ&A