現在、Windows Formを使用したアプリケーションを作成しています。
Exceptionの内容に応じてメッセージボックスを表示させる良い方法をお教えください。
<やりたいこと>
「ファイルが既に開かれている場合にはエラーメッセージを表示する」
という処理を実装しようと考えています。
<問題点>
エラーのcatchをクラス内で呼び出しており、
それをどうやってForm1クラスに渡すべきなのか というところに悩んでいます。
<考えたここと>
・戻り値をstringにしてForm1クラスに渡す(下記コード)
・ExceptionのcatchをInputFileクラス内で行わずにForm1で行う
・InputFileクラスにFormをインクルードして直接メッセージボックスを表示させる
<聞きたいこと>
エラーメッセージを表示させるのはどのように実装するのが良いのでしょうか。
ご存知の方はお教えくださると嬉しいです。
C#
1 public partial class Form1 : Form 2 { 3 // ... 略 ... 4 5 private void button1_Click(object sender, EventArgs e) 6 { 7 string msg = inputFile.ReadFile; 8 if ( msg != "" ) 9 { 10 MessageBox.Show(msg, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); 11 } 12 } 13 } 14 15 class InputFile 16 { 17 // ... 略 ... 18 19 public string ReadFile() 20 { 21 FileInfo fileInfo = new FileInfo(Path); 22 23 try 24 { 25 using (var fs = new FileStream(Path, FileMode.Open)) { } 26 } 27 catch (IOException e) 28 { 29 return e.ToString(); 30 } 31 32 using (var package = new ExcelPackage(fileInfo, password)) 33 { 34 return ""; 35 } 36 } 37 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/10 02:46 編集
2019/03/10 13:06
2019/03/11 12:13