私は、javascriptがエラーにどのように反応するか(例えば、ReferenceErrorのような)にはかなり興味があります。ランタイムエラーが発生すると、呼び出された関数から戻り、呼び出された関数に失敗するようになります。Javascriptはどのようにエラーに反応しますか?
結果として、フレームスタック内のすべての関数が失敗しますか? (これは学問的好奇心の問題です。誰かがそれを私に説明してくれることを願っています)
ありがとう!
私は、javascriptがエラーにどのように反応するか(例えば、ReferenceErrorのような)にはかなり興味があります。ランタイムエラーが発生すると、呼び出された関数から戻り、呼び出された関数に失敗するようになります。Javascriptはどのようにエラーに反応しますか?
結果として、フレームスタック内のすべての関数が失敗しますか? (これは学問的好奇心の問題です。誰かがそれを私に説明してくれることを願っています)
ありがとう!
JavaScriptの例外処理は、他の言語のエラー処理とほとんど同じです。ブロックのcatch
が処理するまでは、エラースタックの呼び出しスタックには、throw
が含まれます。 try/catchがなければ、現在の実行は停止します。
catch
以下の関数呼び出しはすべて終了します。何も返さず、次のコード行は実行されません。
window.onerrorイベントを使用して、キャッチされていないエラーのハンドルを取得できます。 (注:IE以外のブラウザについてはわかりません) – user961954
コールスタックに達して、try
... catch
ブロックに達するまで続きます。
単純な例on JSFiddleが表示されます。
はい、try catchブロックが見つからないと、最終的に失敗します。また、デバッガを持っていなければ、自動的に失敗します。 – smoothe
この章ではEllquent JavaScriptに興味があるかもしれません:[エラー処理](http://eloquentjavascript.net/chapter5.html) – sdleihssirhc