Javascript のエラーと例外の違いは何ですか? 質問する

Javascript のエラーと例外の違いは何ですか? 質問する

Errorと は同じものであるように見えますException。どちらもステートメントでスローされthrow、ブロックでキャッチされますtry catch

ベストアンサー1

JavaScript 構文

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

JavaScript エラー

コード内のバグ発生を追跡するために使用できる行番号シュガーもあります。JavaScript には しかありません。または のErrorどちらについて話しているのを聞いても、JavaScript では同じものを指します。ExceptionsErrors

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

JavaScript 例外

既知の JavaScriptExceptionは です。これは、リクエストを完了していないDOM Exception 8など、準備ができていないオブジェクトにアクセスしたときに発生します。XMLHttpRequest

実装

try catchまたはブロックを使用する場合、JavaScriptとtry catch finallyの両方を処理することになります。コード的には違いは影響しません。ExceptionError

舞台裏では、ブラウザは同じ を使用しますwindow.Error constructor。 は、 と を持つインスタンスでExceptionあり、には「Exception」が含まれています。Errornamemessage

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

大会

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

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

おすすめ記事