- ベストアンサー
ユーザ入力メソッドを別のクラスで呼ぶと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(); } }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
WK5UserInputで例外を投げているのにmainでそれをキャッチorスローしていないからです。 はっきりいってエラー内容そのままです。
その他の回答 (1)
- koko_u_
- ベストアンサー率18% (459/2509)
>自分の勉強のために、ズバリのコードより、 >ヒントになる分野かキーワードのアドバイスを頂けると有り難いです。 じゃあ、チェック例外と非チェック例外について調べてください。
お礼
koko_uさん、お世話になります。(^^) 了解しました。もう少し頑張ってみます。
お礼
ProKaseifuさん、お世話になります! >エラー内容そのままです。 はい、不慣れなもんで、エラーメッセージだけだと「???」状態でして(^^;) >mainでそれをキャッチorスローしていないからです おっ、mainのあたりが臭いんですね!(←初歩的な事なんでしょうが、言われないと気付かない…) どうもありがとうございます。これを参考に粘ってみます。