C#のStreamReaderに関する質問です Q1)下記のコードでファイルが無い旨のエラーが発生した場合の 対応方法をお教え頂けますと大変有難いです
C#のStreamReaderに関する質問です Q1)下記のコードでファイルが無い旨のエラーが発生した場合の 対応方法をお教え頂けますと大変有難いです StreamReader sr = new StreamReader(@"c:\WK_music\music_data\L3118A41x.csv"); 以上、宜しくお願いします。
Q2)下記のエラー処理でOKでしょうか? try { StreamReader sr = new StreamReader(@"c:\WK_music\music_data\L3118A41x.csv"); sr.Close(); } catch (FileNotFoundException e) { } // 旨くオープン出来た場合、末尾まで読み込みを繰り返す while (!sr.EndOfStream) { ....... ....... 以上、宜しくお願いします。 }
C言語関連・85閲覧・25
ベストアンサー
存在チェック→読み込みと2度アクセスするくらいなら Q2にかかれている通り try~catch (***Excpetion)を使っていいと思います。 MicrosoftDocsのStreamReader(string)を見ればわかりますが 例外処理を用いれば ・文字列が空文字("") ・文字列がnull ・ドライブ異常 ・構文エラー ・ファイルがない を個別に、あるいはまとめてチェックできます。 個人でとりあえず使用するソフトなどでは try { using (StreamReader sr = new StreamReader(…)) { // 処理 } } catch (Exception) { // (必要なら)エラー処理 } で終わらせちゃいますね。 ただし、try~catchは「遅い」ことだけは注意してください。 (測定した人によっては100msかかったという人もいます) 大量の繰り返し処理を行う場合は try~catchを使わずに住むよう、可能な限りif文で事前に逃げるべきです。
お世話になります。 try, catchで済まsていますが、finallyを書く必要はありませんか? 注)finallyの使い方が不明につき質問しています。 以上、宜しくお願いします。
質問者からのお礼コメント
毎度お世話になります。 丁寧な回答有難う御座いました。 感謝!!!!
お礼日時:6/27 11:16