2012-03-22 11 views
0

私はエンドユーザーフォームにC#を使用しています。私はSQLサーバーから取得したエラーメッセージを解析する必要があります。通常、エンドユーザーは画像のようなメッセージを受け取ります。これを解析してエンドユーザに、彼がそこで不器用なのではなく理解しているものを与える方法? (「名前テストは、このコンテキストでは許可されていない...」のような画像である。)sqlexceptionエラーメッセージの解析

sql error codeenter image description here

+1

exception.ToString()一般的に、あなたの写真のような文字列を生成します。 exception.Messageにはエラーメッセージだけが含まれ、スタックトレースは含まれません。 – jlew

+0

それは仲間でした、ありがとう! – Sin5k4

+0

正式な回答に変換されました – jlew

答えて

0

exception.ToString()は一般的にあなたの画像のような文字列を生成します。 exception.Messageにはエラーメッセージだけが含まれ、スタックトレースは含まれません。

0

使用Exception.ToString完全なスタック・トレースを表示します。 Exception.Messageを使用すると、エラーのテキスト記述部分だけを取得できます。

さらに、SqlException.ClassSqlException.Numberのプロパティを調べることで、コード内でこれらの例外を処理する方法を適切に判断することができます。 SqlException.Numberプロパティはsys.messagesビュー内のエントリに対応します。たとえば、1205はデッドロック例外の番号です。 SqlException.Class = 11の場合、これは並行処理の例外です。

SqlException.Errorsプロパティは、個々のerrorsに関するより詳細な情報を含むSqlErrorオブジェクトの一覧です。データベースへの単一のRPC呼び出しによって複数の例外が発生する可能性があるため、これらのエラーを確認して、発生したすべてを確認します。

0

SQLでエラーを報告するときは、SQLメッセージが開発者に何か起こるかどうかを常にジレンマにするだけでなく、アプリケーションのユーザーに有用な情報を提供するというジレンマがあります。私たちは、SQLメッセージをXML文字列に構造化して、エラーに関する有用な情報をすべて提供する技術を開発しました。これにより、呼び出し元が必要に応じて使用できるようになりました。あなたは以下のURLでコードプロジェクトにこの技術上の私の記事を見ることができます:

http://www.codeproject.com/Articles/1076477/SQL-Server-Structure-Error-Handling

関連する問題