42

とは同じものErrorExceptionようです。どちらもthrowステートメントでスローし、try catchブロックでキャッチできます。

4

4 に答える 4

45

JavaScript 構文

JavaScript では、エラーと例外は構文的に同義です。言語はErrorキーワードのみを実装します (を介してwindow.Error)。パラメータとしてとError.constructorを取るを使用して、カスタム エラーを定義できます。namemessage

JavaScript エラー

コード内のバグの発生を追跡するために使用できる行番号シュガーもあります。JavaScript のみがError. Exceptionsやについて話しているのを聞いてもErrors、JavaScript では同じことを指します。

ブラウザーは区別します: ReferenceError(ヒープに存在しない名前の変数にアクセスする場合、またはタイプミスをした場合(詳細はこちら)TypeErrorも、既知の JS エラーです。詳細はこちら.

JavaScript 例外

既知の JavaScriptExceptionDOM Exception 8. XMLHttpRequest要求を完了していないなど、準備ができていないオブジェクトにアクセスすると発生します。

実装

try catchまたはブロックを使用する場合try catch finally、JavaScriptExceptionError. コードに関しては、違いは影響しません。

舞台裏では、ブラウザは同じwindow.Error constructor. AnExceptionは、「Exception」を含むandをError持つインスタンスです。namemessage

試してください: var myCustomError = new Error("myException", "An exception occurred.");. 「例外」は文字列内のテキストです。詳細はError こちら

大会

慣例により、 と の間には違いがErrorありExceptionます。Errorは明確な違反を示します。TypeErrororは、ReferenceError言語仕様に従っていないことを意味します。

応答が完了する前に応答にアクセスするExceptionと、 がスローされます。「あなたは法律を破った」という叫びであり、「もうすぐそこにいる!」です。肩にパッド。類推が役立つことを願っています!XMLHttpRequestErrorException

于 2013-04-22T08:42:43.993 に答える
16

講義に基づいて、エラーは JavaScript エンジンによってスローされ、例外は開発者によってスローされます。命名規則のみです。

  • JavaScript がエラーをスローする
  • 開発者は例外をスローします

技術面では同じ構造(物)です。

于 2013-04-22T08:41:00.400 に答える
1

エラーはキャッチしてはいけない重大なものだと思います。例外は、処理できる範囲でキャッチする必要があります。

エラーとは、コード内で問題または無効なことが発生した場合です。これは、メモリ エラーを引き起こす可能性があります。これは、決して発生してはならず、処理できないものです。

一方、コードで特定の条件が満たされた場合、例外は何かをスローします。実際のエラーには対応していない場合があります。

于 2013-04-22T08:31:50.533 に答える