- ベストアンサー
JavaScriptの例外処理について
- JavaScriptの例外処理について、初学者が気になるcatch(e)について説明します。
- 例外の値をeとしてcatch(e)で取得し、後ほど表示することができます。
- 例外処理はウェブ開発でよく使われる機能であり、ユーザーからの入力値を制限する際に有用です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
JavaScript において例外とは、通常ルートでは考慮されない状況が発生したことを、任意の値を「投げる」ことによって、制御構造を無視してお知らせする機能です。 一般的な用途としては、 ・プログラムの文法が間違っている (コンパイル型なら発生しない状況) ・関数の引数が間違っている (静的型付けなら発生しない状況) ・機械が故障した (普通は考慮しない状況) ・通信が強制的に遮断された (業務的に意識したくない状況) 等の状況が発生した際に、 その状況を説明した Error オブジェクトを投げることにより通常ルートを中断し、 専用の例外ルートにて例外処理を行います。 ただ Error オブジェクトでなければいけない決まりはないので、 try { if(isNG()) throw "NG"; // 例外を説明する string を投げる alert('正常'); } catch (e) { alert(e+'でした'); // 例外の説明を元に、例外処理として 'NGでした' を表示 } の様に実装するこのも可能ですが、 投げる箇所と例外処理の箇所は、別な人が実装することが多いので、 混乱しないように Error オブジェクトを投げるのが良いでしょう。 ところで、ユーザー名の検証などは一般的に通常ルート(業務処理)とされます。 例外処理とはあくまでも例外的な状況を処理する為に使うべきなので、 通常ルートを例外処理で実装するのは、あまり好ましくない行為です。 ですが、通常ルートをすっ飛ばすという機能性に着目して、 あえて例外処理で実現するケースも、あることはあります。 まとめると、 「例外を使えば通常処理が簡潔になるなら、使ってもよい、かもしれない、気がする」
その他の回答 (1)
- tracer
- ベストアンサー率41% (255/621)
ちょっと質問の意味がわからないのですが、eにどんな情報が入ってくるのかを知りたいのでしょうか。もしくは、catchの使い方を知りたいのでしょうか。 ちなみに、eの中身を知りたいなら、console.log(e)で見ることができますよ。console.logの結果は、ブラウザのコンソールから確認できます。