こんにちわ。はじめて投稿させて頂きます。 今、Windowsフォームでマルチスレッドのプログラムを作成しています。 別スレッドで処理している中で、例外処理が発生した場合にメインスレッドに 例外をスローしてメインスレッドでエラー内容を表示したいと考えています。 下記サンプルをデバッガから起動すると、SampleFunc関数のthrowから先に 進まなくなります。(throwが何回も呼ばれる) EXEファイルを実行して処理を行なうと、「問題が発生したため・・・」の Windowsが出力するメッセージが表示され、強制終了します。 良い解決方法は無いでしょうか。 よろしくお願いします。 ======================== 以下サンプルコード ======================== private void button1_Click(object sender, EventArgs e) { try { Thread smpThread = new Thread(new ThreadStart(SampleFunc)); smpThread.Start(); } catch(Exception ex) { MessageBox.Show(ex.Message); } } private void SampleFunc() { try { //例外を発生させる int intVal1 = 10; int intVal2 = 0; int intRet = intVal1 / intVal2; } catch { throw; } }
分類:[.NET]