前提
JavaScriptでエラーをキャッチしたいが,キャッチできる場合とできない場合がある.
(非同期,同期などという複雑な問題ではないと思われます.)
実現したいこと
キャッチできない理由を知り,キャッチできるようにコードを書き換えたい.
該当のソースコードと発生している問題・エラーメッセージ
JavaScritpt
1try { 2 aler(); //alertの「t」のつけ忘れ 3} catch (error) { 4 console.error("えらー:"+error); 5}
だと,コンソールに「えらー:ReferenceError: aler is not defined」が返ってくる.
=エラーがキャッチできている.
しかし,
JavaScritpt
1try { 2 alert(; //閉じカッコのつけ忘れ 3} catch (error) { 4 console.error("えらー:"+error); 5}
だと,「Uncaught SyntaxError: Unexpected token ';' 」が返ってくる.
=キャッチできていない.(ブラウザ?はキャッチしているが,上記コード上ではキャッチできていない.)
試したこと
上記のコードを実行し,コンソールの内容を見ました.
また,ここ↓も調べてみましたが,よく分かりませんでした.
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/try...catch
mozilla(上記)ではテキストエリアに前者のエラーも,後者のエラーもメッセージを出力します.
しかし,コンソールには前者のエラーは出力されますが,後者のエラーは何も表示されていません.
特別なエラー検知の仕組みを準備しているものと推測されますが,詳しいことはよく分かりません.
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答4件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/01/30 01:13
2023/01/30 02:27
2023/01/30 05:12
2023/01/30 05:59
2023/01/30 16:17
2023/01/30 16:35 編集
2023/02/03 10:22