0

内部に間違ったコードを含む Windows フォームがあります (エラーが何であれ、発生した例外を意図的にチェックしています)。

try-catchフォームの内部でも外部でも、私は any を使用していないことを思い出してください。デバッガーが例外をスローして実行を停止することを期待しています。

を使用してフォームを表示するShowDialog()と、問題なく例外がスローされます。を使用してフォームを表示するShow()と、例外は発生しません。コードの実行中にエラーが発生し、コードは例外が発生する場所で実行を中断しますが、フォームはアクティブで機能し続け、クリックを受け入れ、すべてのイベントを正常に実行します。デバッガーは、フォームによって発生した例外をスローすべきではありませんか???

それが普通ですか???メソッドは本当に例外をスローしないことを意味していましたShow()か??? それとも、Autocad プラグインにあるフォームからの奇妙なバグですか?


いくつかのコード (役に立たないと思いますが、あります)

public void ShowMyForm(MyForm MyFormInst)
{ MyFormInst.Show(); } //here, the form doesn't raise exceptions when I click button1.

public void ShowMyFormModal(MyForm MyFormInst)
{ MyFormInst.ShowDialog(); } //here, the form raises exceptions when I click button1.

class MyForm : Form
{
    //initialize and blablabla

    private void button1_Click(object sender, EventArgs e)    
    {
        double[] Arrr = new double[] {1, 2, 3};
        double Numb = Arrr[4]; //yes, did this on purpose to force exceptions.
    }
}
4

1 に答える 1