C# NumericUpDown ValueChanged でエラーが発生しない

NumericUpDownのValueChangedイベント内でエラーが発生しないことがある。

ValueChangedが発生する条件
  1. 違う値を入力した状態でエンターキー押下
  2. 違う値を入力した状態でフォーカスを他に移動
  3. マウスホイールのスクロール
  4. 上下ボタンのクリック
  5. 他のイベント中にNumericUpDown.Valueに違う値を代入


このValueChangedイベント内でわざとエラーを発生させる。

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
    throw new Exception("ERROR");
}
するとこのうち、1と2でイベント発生した場合にエラーが発生しない。

解決方法

不明。

try_catchで囲むと発生した事はわかるので、そこで解決すればOK。

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
    try{
        throw new Exception("ERROR");
    }catch(Exception ex){
        // ここには来る
    }
}

まぁ、ちゃんとエラー対策しておけば何の問題もない話だったり。
デバッグ中にエラー発生させようとして発生しなかったからビックリした。