イベントログに書き込むとき、アプリケーションは列挙型を使用してイベントログ項目に添付するエラー番号を生成します。アイデアは、私たちが間違っている可能性があることを列挙し、それぞれにIDを割り当てて、イベントログを見て何が間違っているのかをすぐに特定できるようにすることです。イベントログに書き込む列挙値を追加する
1つの列挙型にはアプリケーションのクラスを表す値/ IDが含まれ、別の列挙型には実行中に発生する既知のエラーのエラーコードを表す値が含まれます(無効な日付= 1、無効な量= 2など)。
ここで、メソッドへの無効な入力が検出されたとします。 1つの列挙のメソッドを含む適切なクラスIDと2番目の列挙からの特定の「無効な入力」エラーを追加し、追加した結果をメッセージ文字列とともにEventLog.WriteEntry()メソッドに渡します。
問題は、列挙型の値の結果を含む変数をWriteEntry()メソッドに渡すと、何もイベントログに書き込まれないということです。ただし、値がメソッドのパラメーターで通常の整数として渡された場合、イベントは正常に書き込まれます。
これはなぜ起こっているのですか?
デバッグするとどうなりますか?だから、彼らは常に正確に表示されますか?また、何をしているのかを示すコードスニペットを投稿できますか? – Tetraneutron
VB.NETを使用していますか?もしそうなら、Option Strict Onをオンにして、もう一度オフにしないでください。これは、コンパイル時エラーまたは実行時例外が無視されているようです。 –
ご返信ありがとうございます。残念ながら、オプションを厳密にオンにすると、他の問題(暗黙的な変換の警告など)が多数発生し、これらの問題を修正するコストは圧倒的です。私はいつも厳しいオプションを使いますが、前任者は何らかの理由でそれを気に入らなかった。 –