• ベストアンサー

ユーザ入力メソッドを別のクラスで呼ぶとIOExceptionのコンパイルエラーが

お世話になります。Java勉強中の初心者です。ユーザ入力メソッドを別のクラスで呼ぶと、IOExceptionのコンパイルエラーが返ってきます。 [報告されていない例外"java.io.IOException": "usrIn.printWK5UserInputMthd();"にスローするためのキャッチか宣言の処理が必要です] みたいなメッセージが返ってきます。 自分の勉強のために、ズバリのコードより、ヒントになる分野かキーワードのアドバイスを頂けると有り難いです。 宜しくご教示ください。 m(_ _)m れざ /***ユティリティ クラス -> 入力メッソドはここに***/ import java.io.*; public class WK5UserInput { public void printWK5UserInputMthd()throws IOException { BufferedReader usrIn = new BufferedReader(new InputStreamReader(System.in)); try { System.out.println("User input. To finish, hit Enter."); String str = usrIn.readLine(); System.out.println("Result: "+str + "\n "); } catch (IOException e){ System.out.println(e); } } } /***ドライバ クラス -> コンストラクタはここ***/ import java.io.*; class WK5inheritanceDrv{ public static void main (String[] args){ WK5UserInput usrIn = new WK5UserInput (); usrIn.printWK5UserInputMthd(); } }

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

  • ベストアンサー
回答No.2

WK5UserInputで例外を投げているのにmainでそれをキャッチorスローしていないからです。 はっきりいってエラー内容そのままです。

laser-disc
質問者

お礼

ProKaseifuさん、お世話になります! >エラー内容そのままです。 はい、不慣れなもんで、エラーメッセージだけだと「???」状態でして(^^;) >mainでそれをキャッチorスローしていないからです おっ、mainのあたりが臭いんですね!(←初歩的な事なんでしょうが、言われないと気付かない…) どうもありがとうございます。これを参考に粘ってみます。

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

>自分の勉強のために、ズバリのコードより、 >ヒントになる分野かキーワードのアドバイスを頂けると有り難いです。 じゃあ、チェック例外と非チェック例外について調べてください。

laser-disc
質問者

お礼

koko_uさん、お世話になります。(^^) 了解しました。もう少し頑張ってみます。

関連するQ&A

専門家に質問してみよう