前提・実現したいこと
例外処理についての質問です。
指定したファイルから文字列や数値を読み込み、代入するメソッドを定義したいのですが、数値を読み込む際に一つ例外が生じてしまうと、その後は数値を読み込むことが出来ず、初期値の0となってしまいます。
繰り返しの中で、例外処理に引っかかった後もプログラムを実行したいのですが、やり方がわかりません、、、
調べてみたところ、try-catch文の外側に繰り返しの処理を書けば可能とのことなのですが、外側に出してもエラーが出てしまいます。どうしたらよいでしょうか、、、、
発生している問題・エラーメッセージ
該当のソースコード
Java
1void readScores(String fname) { 2 try { 3 BufferedReader br=new BufferedReader(new FileReader(fname)); 4 String s,p[],r[]; 5 int i=0,k; 6 7 while((s=br.readLine()) !=null) { 8 9 if(i==0) { 10 subject=s.split("\s+"); 11 }else if(i==1) { 12 p=s.split("\s+"); 13 for(k=0;k<p.length;k++) { 14 int value=Integer.parseInt(p[k]); 15 setScore(k,value); 16 } 17 }else if(i==2) { 18 r=s.split("\s+"); 19 for(k=0;k<r.length;k++) { 20 int value=Integer.parseInt(r[k]); 21 setReportScore(k,value); 22 } 23 } 24 25 i++; 26 } 27 br.close(); 28 }catch(Exception e) { 29 System.out.println(e.getMessage()+"\n"); 30 } 31 }
試したこと
while((s=br.readLine()) !=null)の部分をtry-catch文の外側に出してみたのですが、unhandledやファイルが閉じられていないなどのエラーが出てしまい、どうすれば良いのかわかりません、、
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー