ハンドルされてない例外発生

例外発生の備忘録
C#で既存コントロールを継承させて、ユーザーコントロールを開発している。
メソッド内で入力不正等のエラー情報を呼び出し元クラスに知らせるために例外をスローすることで知らせている。
デバック環境ではアプリ側で例外をキャッチしているが、運用マシンでは
OS側からのエラー情報表示となり、アプリ側で例外がキャッチできない。
エラー情報で、
——————————————–
JIT デバッグ
Just-In-Time (JIT) デバッグを有効にするには、
このアプリケーション、またはコンピュータ (machine.config) の構成ファイルの
jitDebugging 値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを
有効にしてコンパイルされなければなりません。
例 :
< CONFIGURATION>
<SYSTEM.WINDOWS.FORMS jitDebugging=”true” />
</CONFIGURATION>
JIT デバッグが有効なときは、このダイアログで処理するよりも、ハンドルされていない
例外はすべてコンピュータに登録された JIT デバッガに設定されなければなりません。
——————————————–
とあるので、.NETのmachine.configファイルを記載しているとおりに
修正しているがそれでもうまく動作しない。
他にもいろいろと調査しているがよくはわからない。
ググッテ調査したら同じようなエラー内容がででてきているが、根本的な
問題を解決しないといけないようだ。
それで、例外をスローしているところを修正することにした。
呼び出しクラスでエラー内容をメッセージボックスで表示するように
していたが、本意ではないがユーザークラス側でエラー表示を行いエラー処理を行った。
また、例外時に呼び出し元側でユーザークラスにフォーカスを設定
していたが、それもこの修正時にbaseを利用してフォーカス設定するように修正した。
これでなんとか、アプリ側だけで処理できるようになった。
うーん原因なんだが多分、処理を記載しているメソッドは既存クラスを
オーバーライドをしているイベント部分なので、そこで例外をスローしても
キャッチしているのが継承元クラスで、自作コントールとの間に上手に
ハンドル等の情報が伝わっていないのかなと思われる。
多分そこらあたりが問題なのだろう。
直接既存コントールクラスから継承したのも問題なのかもしれない。

7月5日 夕方から瀬長島ウォーキング。さすがに湿気があるせいかちょい息ぐるしい。
7月6日 ウォーキングした。いつもの瀬長島コース。風もあり以外にも涼しかったが、
まめに水分補給しながらあるききった。やっぱ暑いのでこまめに水分補給するのは大事なようだ。
今週も後2回なんとかのるま達成するぞぉ。

コメント