2017-09-27 3 views
-1

タイトルごとに。あまり言いたくない。この場合、呼び出し元でレスポンス(nullなど)を処理するのではなく、カスタムエラーを投げるのがよいでしょうか?

EDITここで示唆したように、私は

  • のいずれかに、より理にかなっているかどうかを知りたいのですがしたユースケースは、特定のように、エラー または
  • リターン「ヌル」を(スローですエラーが関係ない)

角4サービス

における方法に包まれたDB操作
return this._db.upsert(item._id, (doc) => item) 
    .then(response => { 
     return response; 
    }) 
    .catch(specificErrorProvided => { 
     // return null or throw Error? (the user is not concerned with the specific error) 
    }); 
+0

問題はそれが一般的ではない、それは不明だということです。人々に沈黙させないように頼むのではなく、彼らが必要性を感じないほど十分に明確な質問をする。人々に比較を求めているシナリオの例を示します。人々が期待するデータの種類を正確に説明する(そうでなければ、主に意見に基づくものであり、話題にならない)。 –

+0

この質問はcs.stackexchange.comに投稿する必要があります。 – ControlAltDel

+0

カスタム例外は、別の種類の応答であり、呼び出し元によっても処理される必要があります。 – Bergi

答えて

1

最終的なエンドユーザーにとっては、カスタムエラーは素晴らしいです。たとえば:

505内部サーバーエラー

は以外のユーザーに、より不明瞭になります。

は今、サーバーに到達することはできません。管理者に連絡する

その他の使用例は、デバッグの場合ですが、まれです。私は彼らがエンドユーザー向けに作られたと言います。

あなたが示した場合にはEDIT

、カスタムエラーは、実行するアクションを決定します。 nullを返すことができる関数が複数ある場合は、エラーをログに記録してから、の束を得る以外に、次に取るべきステップを決定するために、例えばdbFunError2のような詳細な応答を返すことができます。

希望すると、これはわかります。

+0

ありがとう。理にかなっている。私は他の答えがあるかどうかを確認するのを待つだけです。) – dragonmnl

+0

お手伝いしてうれしいです。 –

関連する問題