内部に間違ったコードを含む 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.
}
}