私は多くのSMBとエンタープライズに展開されるエンタープライズプロジェクトに取り組んでいます。
このプロジェクトのサポートは困難なため、エラーのコーディングパターンを作成したいと思います(Like HTTP status Codes)。これにより、ヘルプデスクの担当者はドキュメントを参照し、問題をできるだけ早くトラブルシューティングできます。
これを行うためのベストプラクティスと推奨事項は何ですか?
これを行うための助けがあれば役に立ちます。
エラーコードとエラー戻り値には違いがあります。エラーコードはユーザーとヘルプデスク用です。エラー戻り値は、コードでエラーが発生したことを示すコーディング手法です。
エラーの戻り値を使用してエラーコードを実装することもできますが、これはお勧めしません。例外はエラーを報告するための最新の方法であり、エラーコードをエラーに含めるべきではありません。
これは私がそれを整理する方法です(ポイント2-6は言語にとらわれないことに注意してください):
ErrorCode
プロパティを追加して、カスタム例外タイプを使用します。メインループのキャッチは、通常の方法でこのフィールドを報告します(ログファイル/エラーポップアップ/エラー応答)。すべてのコードで同じ例外タイプを使用します。if (...) throw new FooException(1234, ".."); else throw new FooException(1235, "..");
行は、ヘルプデスクの時間を30分節約する可能性があります。そして、エラーコードの目的がヘルプデスクの作業を容易にするであることを忘れないでください。
まず、エラーが発生する可能性があり、ユーザーに表示される領域を分離する必要があります。次に、それらを文書化できます。とてもシンプルです。
ええと、理論的には単純です。実際にはエラーはあちこちで発生する可能性があり、それらを報告すると、Niceコードがロギング、例外のスローと処理、および戻り値の受け渡しのモンスターに変わる可能性があります。
その場合、2ステップのアプローチをお勧めします。最初は、ログを記録することです。
2つ目は、主要なコンポーネントとそのインターフェイスを特定し、これらのコンポーネントが検出できる主要なエラーケースを定義することです。これらのエラーの1つ(内部でのエラーの処理方法はユーザー次第)になったら、より目に見える方法でログインできます。 -例外またはエラーコードは、ここでは違いはありません)。通常、ユーザーはエラーを確認し、ログで詳細情報を確認します。
同じアプローチがWebサーバーとhttpエラーコードの例に使用されます。ユーザーが404を確認し、それをサポートに報告した場合、何が起こっているか、どのページがいつ訪れたかの詳細をログで調べ、意味のある場所から他の情報を収集します。 、DB、ネットワーク、またはアプリケーション内にあります。
わかりやすい名前と明確なメッセージを使用してカスタム例外を作成し、それらをスローします。エラーコードの受け渡しと解釈のサポートを組み込むよりも、言語の既存の例外インフラストラクチャを使用する方がはるかに簡単です。