私は両方ExecuteReader
とExecuteNonQuery
で、データベースにアクセスするエンタープライズライブラリのDAABを使用しています。問題は、これらのメソッドには例外が文書化されていないということです。どのような例外を捕まえるべきですか?ドキュメント化されていない例外
答えて
問題は、エンタープライズライブラリよりも低いレベルでスローされます、そしてELは、これらのすべてを文書化することは不可能であろう多くの例外があるということです。
私はあなたがすべての例外をキャッチし、ログに記録する例外処理およびロギングブロックを使用することをお勧め。次に、発生するものを確認し、例外ハンドラの設定を適用するか、または特定のexecptionsを処理するための新しいコードを追加することができます。
問題は、私がすでに「手動で」さまざまな例外をキャッチして処理していることです。新しいハンドリングブロックにそれらを適合させることはできますか? – User
はい、私は手動例外処理から切り替えて、最終的にはエンタープライズライブラリを把握していますが、私はmassivleyが必要とした例外処理コードの量を減らし、コードで発生した例外をはるかにカバーしています。 –
私は私が(おそらく多くの)例外のカップルを推測しているMS SQLデータベースのようになりますので、もし開始するには良い場所は、どのデータベースあなたがに接続するだろう推測している、WebTurnerに同意:
- SqlExceptionが
- InvalidOperationExceptionが
http://msdn.microsoft.com/en-us/library/9kcbe65k.aspx
EDIT:
は、私はちょうどこの出くわした:How can I determine which exceptions can be thrown by a given method?
それがスローされる例外のリストを明らかに支援するためにリフレクションを使用していますliek見えます。
あなたが行ったことは、1つの下位レベルの操作とサーバーの種類によってどの例外が返されるかがわかります。それは悪いスタートではありませんが、ELの実装全体を調べて、例外を見つけることが必要です。 –
@webturnerに完全に同意しました。これはちょうど始まりますが、確かに完全ではありません。 –
- 1. 例外がチェックされ、チェックされていない例外タイプ
- 2. マルチアレイの初期化されていない例外の初期化python
- 3. キャッチされない例外TypeError:キャッチされない例外TypeError体験にaddEventListener
- 4. マキシモAnywhereのキャッチされない例外:キャッチされない例外TypeError:win.doc.getCSSCanvasContextは(compiled_code)
- 5. チェックされた例外とチェックされていない例外のjavaでの例外処理
- 6. R CMDチェック中のドキュメントS4クラスと「ドキュメント化されていないコードオブジェクト」
- 7. Pythonの「例外TypeError: 『builtin_function_or_method』オブジェクトが添字化されていない」
- 8. のDataContractシリアル化の例外(データコントラクト名が期待されていない)
- 9. Jackson:モデル化されていないフィールドによる例外の回避
- 10. IntelliTraceの:タイプの初期化中にキャッチされない例外
- 11. 致命的なエラー:キャッチされない例外「例外」
- 12. Google Web Toolkit:チェックされていない例外の例外翻訳
- 13. SharePoint例外ドキュメント
- 14. iOS例外バックトレース - アプリケーションエントリが記号化されていません
- 15. Epson Java Pos ADK例外:初期化されていません
- 16. Pythonで装飾された例外例外が除外されない
- 17. 致命的なエラー:キャッチされていない例外ストライプ
- 18. PHP致命的なエラー、キャッチされていないエラー例外
- 19. 流暢なnhibernateサポートされていない例外newexpression
- 20. 例外をキャッチしてピックアップされていない
- 21. XML構文のエラー - キャッチされない例外 '例外'
- 22. キャッチされない例外「GuzzleHttp \例外の\ RequestException」「cURLのエラー60
- 23. SQLiteと外部キー:ドキュメントの悪い例が失敗しない
- 24. Pythonの例外(ドキュメントの例)
- 25. キャッチされない例外 'NSInvalidArgumentException'、
- 26. 例外がTask.Runにキャッチされない
- 27. キャッチされない例外データベース
- 28. キャッチされない例外:エラー:プロパティProxy.InstallTrigger
- 29. キャッチされない例外TypeErrorは:
- 30. 例外がスローされない
すべての例外をキャッチする必要があると思うのはなぜか不思議です。スローされる特定の例外は、ほとんどのエラーがデータベースまたはネットワーク(接続など)の例外であるため、データベースプロバイダによって異なります。また、例外のほとんどは、ロギング以外に多くのことを行うことができないと思われ、おそらくエラーがあったことをユーザーに知らせるシステム例外になります。 –