0

このように console.log をラップする関数があります。

NS.log("error");

エラーログに使用します。何か問題が発生したことをアプリ開発者に知らせるための簡単なワンライナーです。プログラム フローを停止せず、コンソールに目立たないように表示されます。

ただし、大学の授業などで、try/throw/catch を使用することは、既に実装されているエラー制御システムを使用するため、ベスト プラクティスであると聞いています。

ただし、throw ステートメントの後に「バブル」するエラーは必要ありません。次のようにすぐにキャッチします。

try {
    throw "error"
} catch (e) {
}

より正式な構造を使用するのではなく、単にエラーをログに記録することに短所はありますか?

私の推測では、try/throw/catch はより複雑な構造用です。

でも確かめたかった。

ノート:

  • requirejs は throw を合計 4 回使用します。コンソールまたはログを使用しない
4

2 に答える 2

1

それがあなたとあなたが一緒に働いている人たちにとってうまくいくなら、それはうまくいきます。変更する必要はありません。

技術的try/throw/catchにはベスト プラクティスであり、ほとんどの言語ではそれを使用する必要があります。

ただし、javascript では、try/throw/catchパフォーマンスがかなり悪いことがわかります。また、javascript の多くのエラーは動的な性質のものです。はい、対処する必要があります。しかし、それらの多くはアプリケーションを壊しません。

では、なぜそれらをバブルにしてユーザーを苛立たせたいのでしょうか?

TL:DR @JohnSaundersが言ったように、try/throw/catch時々使用することをお勧めしません。しかし、多くの場合、javascript エラーでは何も壊れず、 を使用してパフォーマンスに影響を与えることが多いという事実は、無意識に実装するtry/throw/catch前に、この「ベスト プラクティス」の費用対効果の比率について考える必要があることを意味します。

于 2013-02-27T20:02:33.500 に答える
0

選択肢を検討し、プロセスを検討していただければ幸いです。でも

  1. try ステートメントを使用すると、コード ブロックのエラーをテストできます。
  2. catch ステートメントを使用すると、エラーを処理できます。
  3. throw ステートメントを使用すると、カスタム エラーを作成できます。

あなたの場合、何らかのログプロセスが整っている場合は、try catch を使用してください。例

try {

} catch (e) {
   NS.log(err);
}

詳細情報/ソース

于 2013-02-27T20:02:26.013 に答える