JavaScript の例外と例外処理メカニズム
JavaScript は、Web ページのマークアップやスクリプト プログラミングによく使用される言語です。他のプログラミング言語と同様、JavaScript にも例外と例外処理メカニズムが含まれています。この記事では、読者が JavaScript プログラムの例外をより深く理解し、それに対応できるように、JavaScript の例外と例外処理メカニズムを紹介します。
1. JavaScript の例外
JavaScript では、例外とは、プログラムの実行中に発生したエラーまたは異常な状況を指します。これらの例外は、ブラウザ、環境、またはプログラム自体に起因する可能性があり、一般的な例外には、構文エラー、実行時エラー、型エラー、ネットワーク エラーなどが含まれます。
- 構文エラー
構文エラーは、プログラムに構文エラーがあり、正しく解析および実行できないことを意味します。たとえば、キーワードのスペルが間違っている、括弧が欠落している、セミコロンが欠落しているなどです。
次に、構文エラーの例を示します。
var number = 10 if (number > 5) { console.log("Number is greater than 5.") }
コードの最初の行にセミコロンがないため、プログラムは正しく解析できません。
- 実行時エラー
実行時エラーとは、プログラムの実行中に処理できないエラーまたは例外が発生したことを意味します。たとえば、変数の型が間違っている、未定義の変数がアクセスされている、配列が範囲外であるなどです。
以下は実行時エラーの例です:
var numbers = [1, 2, 3, 4] console.log(numbers[10])
コードでは、プログラムは配列内のインデックス 10 の要素を出力しようとしていますが、実際には配列の長さは4 だけなので、範囲外の例外がスローされます。
- 型エラー
型エラーとは、数値変数に文字列を代入したり、数値変数を渡したりするなど、プログラムが互換性のない型の変数を操作または代入しようとしたことを意味します。数値変数 文字列などを必要とする関数の場合
次は型エラーの例です:
var number = 10 console.log("Number is " + number)
コードの 2 行目では、文字列と数値が連結されており、型に互換性がないため、型エラーが発生します。
- ネットワーク エラー
ネットワーク エラーとは、プログラムがリモート リソースを取得するとき、またはサーバーと通信するときに発生するエラーまたは例外を指します。たとえば、ネットワーク接続がタイムアウトする、サーバーに接続できないなどです。
次はネットワーク エラーの例です:
var request = new XMLHttpRequest() request.open("GET", "https://api.example.com/data.json", true) request.send()
コードでは、プログラムは XMLHttpRequest オブジェクトを通じて api.example.com の下にある data.json ファイルを取得しようとしますが、サーバーが応答できない、または接続できない タイムアウトによりネットワーク エラーが発生します。
2. JavaScript 例外処理メカニズム
JavaScript は、プログラマーが例外をキャッチして処理できるようにする例外処理メカニズムを提供します。例外処理メカニズムには、try-catch-finally ステートメント ブロックと throw ステートメントが含まれます。
- try-catch-finally ステートメント ブロック
try-catch-finally ステートメント ブロックは、例外をキャッチして処理するために使用されます。構文は次のとおりです。
try { // 可能会引发异常的代码 } catch (e) { // 处理异常的代码 } finally { // finally代码块(可选) }
try コード ブロック内に、プログラマは例外を引き起こす可能性のあるコード セグメントを配置できます。コードセグメントが正常に実行される場合、キャッチコードブロックはスキップされます。コードセグメントの実行中に例外が発生した場合、キャッチコードブロックにジャンプして例外処理を実行します。
キャッチ コード ブロックは、キャッチされた例外を表すパラメータ e を受け入れます。 catch コード ブロックでは、プログラマは例外情報の出力、エラー レポートのサーバーへの送信などの例外処理ロジックを定義できます。
finally コード ブロックは通常、ファイルを閉じる、リソースを解放するなどのクリーンアップ操作を処理するために使用されます。try コード ブロックが正常に実行されたか例外が発生したかに関係なく、finally コード ブロック内のコードは実行されます。
次は、try-catch-finally ステートメント ブロックの例です:
var divisor = 0 try { var result = 10 / divisor console.log("Result is " + result) } catch (e) { console.log("Exception: " + e.message) } finally { console.log("Finally block executed.") }
コードでは、プログラムは 10 を変数除数で除算しようとします。除数は 0 であるため、例外がスローされます。プログラムの実行シーケンスはキャッチコードブロックにジャンプし、例外メッセージ「例外: ゼロ除算。」が出力されます。最後に、finally コード ブロック内のクリーンアップ操作が実行され、「Finally block が実行されました。」というステートメントが出力されます。
- throw ステートメント
throw ステートメントは、手動で例外を発生させ、例外オブジェクトを例外処理メカニズムに渡すために使用されます。構文は次のとおりです。
throw expression;
expression は、スローされる例外オブジェクトを表します。文字列、数値、オブジェクトなどを指定できます。プログラムでは、通常、throw ステートメントは入力パラメータの検証、プログラムのステータスの検出などに使用されます。
以下は throw ステートメントの例です:
var age = -1 try { if (age < 0) { throw "Age is invalid." } else { console.log("Age is " + age) } } catch (e) { console.log("Exception: " + e) } finally { console.log("Finally block executed.") }
コードでは、変数 age が 0 未満の場合、プログラムは手動で文字列例外「年齢が無効です」を発生させます。そして、catch コード ブロックの例外の処理にジャンプします。
3. 概要
JavaScript の例外と例外処理メカニズムは、高品質のプログラムを作成するための鍵です。 JavaScript プログラムを作成する場合、プログラマは起こり得る例外を十分に考慮し、例外処理メカニズムを使用してプログラムの正確さと安定性を確保する必要があります。実際には、プログラマは try-catch-finally ステートメント ブロックと throw ステートメントを使用して、例外をキャッチして処理し、プログラムの通常の実行を保護できます。
以上がJavaScript の例外と例外処理メカニズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









C++ での関数例外処理は、マルチスレッド環境でスレッドの安全性とデータの整合性を確保するために特に重要です。 try-catch ステートメントを使用すると、特定の種類の例外が発生したときにそれをキャッチして処理し、プログラムのクラッシュやデータの破損を防ぐことができます。

今日は、MIT が先週公開した記事を紹介します。GPT-3.5-turbo を使用して時系列異常検出の問題を解決し、時系列異常検出における LLM の有効性を最初に検証しました。プロセス全体に微調整はなく、GPT-3.5-turbo は異常検出に直接使用されます。この記事の核心は、時系列を GPT-3.5-turbo が認識できる入力に変換する方法とその設計方法です。 LLM が異常検出タスクを解決できるようにするためのプロンプトまたはパイプライン。この作品について詳しく紹介していきます。画像用紙タイトル:Large languagemodelscanbeゼロショタノマリデテ

C++ 例外処理を使用すると、例外をスローし、try-catch ブロックを使用して例外をキャッチすることで実行時エラーを処理するカスタム エラー処理ルーチンを作成できます。 1. 例外クラスから派生したカスタム例外クラスを作成し、what() メソッドをオーバーライドします。 2. throw キーワードを使用して例外をスローし、例外のタイプを指定します。扱った。

ネストされた例外処理は、ネストされた try-catch ブロックを通じて C++ に実装され、例外ハンドラー内で新しい例外を発生させることができます。ネストされた try-catch ステップは次のとおりです。 1. 外側の try-catch ブロックは、内側の例外ハンドラーによってスローされた例外を含むすべての例外を処理します。 2. 内部の try-catch ブロックは特定のタイプの例外を処理し、スコープ外の例外が発生した場合、制御は外部例外ハンドラーに渡されます。

再帰呼び出しでの例外処理: 再帰の深さの制限: スタック オーバーフローの防止。例外処理を使用する: try-catch ステートメントを使用して例外を処理します。末尾再帰の最適化: スタックのオーバーフローを回避します。

マルチスレッド C++ では、例外処理は適時性、スレッドの安全性、明確性という原則に従います。実際には、ミューテックスまたはアトミック変数を使用することで、例外処理コードのスレッド セーフを確保できます。さらに、例外処理コードの再入性、パフォーマンス、テストを考慮して、コードがマルチスレッド環境で安全かつ効率的に実行されることを確認してください。

C++ ラムダ式の例外処理には独自のスコープがなく、デフォルトでは例外はキャッチされません。例外をキャッチするには、ラムダ式キャッチ構文を使用できます。これにより、ラムダ式がその定義スコープ内の変数をキャプチャできるようになり、try-catch ブロックで例外処理が可能になります。

PHP 例外処理: 例外追跡を通じてシステムの動作を理解する 例外は、PHP がエラーを処理するために使用するメカニズムであり、例外は例外ハンドラーによって処理されます。例外クラス Exception は一般的な例外を表し、Throwable クラスはすべての例外を表します。 throw キーワードを使用して例外をスローし、try...catch ステートメントを使用して例外ハンドラーを定義します。実際のケースでは、例外処理を使用して、calculate() 関数によってスローされる DivisionByZeroError をキャプチャして処理し、エラー発生時にアプリケーションが適切に失敗できるようにします。
