JavaScript エラー処理 try..catch...finally + は throw+TypeError+RangeError をカバーします

JavaScript エラー処理 try..catch...finally + は throw+TypeError+RangeError をカバーします

1. 目的

通常、エラーが発生すると、スクリプトは直ちに停止し、コンソールにエラーを出力します。

このステートメントを使用すると、エラーをキャッチして適切な操作を実行し、プログラムの実行を継続できます。

2. 文法

試す {
  // コード...
} キャッチ (エラー) {
   //err はエラーに関する詳細情報を持つオブジェクトです // エラー キャプチャ。上記のコードはエラーが報告されるとこのコード ブロックに移動し、実行を停止しません} finally {
   //例外がスローされたかキャッチされたかに関係なく、常に実行されます}

この文はネストできる

3. 練習する

Catchすべてのerrorをキャッチします。

処理方法がわからない場合は、 throw err

throw演算子はerrorオブジェクトを生成します。

ユーザー定義の例外をスローするために使用されます。現在の関数の実行は停止され (throw の後のステートメントは実行されません)、制御は呼び出しスタックの最初の Catch ブロックに渡されます。呼び出し元関数に catch ブロックがない場合、プログラムは終了します。

例:

throw "Error1"; // 文字列値を持つ例外をスローします throw 4; // 整数値 4 を持つ例外をスローします /*JavaScript には、Error、SyntaxError、ReferenceError、TypeError など、多くの組み込みの標準エラー コンストラクターがあります。これらを使用してエラー オブジェクトを作成することもできます。 */
let error = new Error("いろいろなことが起こります o_O");
alert(error.name); // エラー
alert(error.message); // いろいろなことが起こります o_O
//json例外を試す{
  JSON.parse("{ 不正なJSON o_O }");
} キャッチ(e) {
  alert(e.name); // 構文エラー
  alert(e.message); // JSON の位置 2 に予期しないトークン b があります
}

補充:

try ブロック内のコードは、 TypeErrorRangeErrorSyntaxError 3 種類の例外をスローする可能性があります。

これら 3 つの意味を知らない生徒もいるかもしれないので、ここで説明しておきます。

これらは両方ともグローバル オブジェクトです。グローバル オブジェクト自体にはメソッドは含まれていませんが、プロトタイプ チェーンを通じていくつかのメソッドを継承します。

エラーの種類を判別するには、instanceof 演算子を使用します。

  • TypeError : (型エラー) 値の型が期待される型でない場合に発生するエラーを表すために使用されるオブジェクト
  • RangeError : オブジェクトは、値が許容範囲または設定内にない場合にエラーを示します。
  • SyntaxError : Javascript言語がコードを解析するとき、Javascriptエンジンは文法仕様に準拠していないトークンまたはトークンシーケンスを見つけ、

例:

catch (e){//以下はこのオブジェクトのパラメータプロパティです console.log(e instanceof TypeError); // true
  console.log(e.message); // "このエラーについて説明してください"
  console.log(e.name); // "TypeError"
  console.log(e.fileName); // "例外の原因となったコードが配置されているファイルの名前"
  console.log(e.lineNumber); // 例外を引き起こしたコードの行番号}

これで、JavaScript エラー処理 try..catch...finally と throw+TypeError+RangeError のカバーに関する記事は終了です。JavaScript エラー処理に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • よくあるJSエラーと解決策の詳細な説明
  • javascript エラーオブジェクトのエラー処理

<<:  SSH ポート転送とは何ですか?何の役に立つの?

>>:  CSSは高さを設定せずにdivを完全に中央に配置することを実現します

推薦する

Centos7 システムでの .NET Core 2.0 + Nginx + Supervisor 環境の構築

1. Linux .NET Core の紹介Microsoft は常に自社のプラットフォームに対して...

MySQLインスタンスを安全にシャットダウンする方法

この記事では、mysqld プロセスをシャットダウンするプロセスと、MySQL インスタンスを安全か...

MySQL Server 8.0.3 のインストールと設定方法のグラフィックチュートリアル

この文書はMySQL Server 8.0.3のインストールと設定方法を参考のために記録したものです...

VMware仮想マシンを使用してUbuntu 20.04をインストールする完全なチュートリアル

Ubuntu は比較的人気のある Linux デスクトップ システムです。最近、Ubuntu 20....

JSにおけるnewの原理と実装について詳しく話しましょう

目次意味コンストラクタ本体は異なる戻り値なし戻りオブジェクト非オブジェクトを返すプロパティバインディ...

Ubuntu 19 以下に Android Studio をインストールするチュートリアル

過去の経験から言うと、タスクを完了した後にメモを取るのは良い習慣です。インストール環境はUbuntu...

Ubuntu 18.04 でソースコードから Odoo14 をインストールするチュートリアル

目次このシリーズの背景概要PostgreSQL データベースの準備ソースからインストール仮想環境の作...

初心者がHTMLタグを学ぶ(1)

初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...

Vueは製品の拡大鏡効果を実現します

この記事の例では、製品の拡大鏡効果を実現するためのVueの具体的なコードを共有しています。具体的な内...

CentOS7 から CentOS8 にアップグレードする方法 (詳細な手順)

この記事では、具体的な例を使用して、CentOS 7 から CentOS 8 にアップグレードする方...

Docker ケース分析: Redis サービスの構築

目次1 マウントディレクトリとファイルを作成する2 Redisイメージを取得する3 コンテナを作成し...

js キャンバスはランダムなパーティクル効果を実現します

この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...

HTTPS の有効化に関する経験の共有

国内のネットワーク環境が悪化し続ける中、さまざまな改ざんや乗っ取りが後を絶たず、サイト全体をHTTP...

MySQLで大きなテーブルをエレガントに削除する方法について簡単に説明します

目次1. 切り捨て操作1.1 MySQL truncate はどのような操作を実行しますか? 1.2...