Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
datagridviewのエラー処理に関して
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30459#CommentId83801
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2020/3/11 13:06:31
「e.ThrowException = True」という代入操作は例外を発生させないので、
御提示のコードで Catch 句が呼ばれることは無いですよ。
e.ThrowException は、「イベントを抜けた後で、例外を発生させるかどうか」を意味しています。
True をセットしておいた場合は、例外がスローされます。
False をセットしておいた場合、エラーメッセージは出ないので、
そのままエラーメッセージを握りつぶす
MessageBox 等を使って表現する
Label 等にエラー情報を記述する
該当セルの ErrorTextプロパティにエラーテキストをセットする
などのようにして、自前の復帰処理に差し替えてください。
実際のエラー内容は、e.Exception という読み取り専用プロパティにて保持されています。
エラーが発生した時の状態は e.Context が返すビットフラグで判定できます。
また、e.Cancel を True に変更することで、入力中の内容をキャンセルして、
編集前の状態に戻すこともできます。
https://dobon.net/vb/dotnet/datagridview/dataerror.html