nodejsエラーモジュール

WBOY
WBOYオリジナル
2023-05-18 14:08:08513ブラウズ

Node.js は、Chrome V8 エンジンに基づく JavaScript ランタイム環境であり、高性能ネットワーク アプリケーションの開発に広く使用されています。 Node.js では、アプリケーションの安定性と信頼性に影響を与えるさまざまなエラーが発生する可能性があります。したがって、Node.js は、開発者がエラーを管理できるようにするエラー モジュールを提供します。

Node.js のエラー モジュールは、いくつかの一般的なエラー タイプを提供します。これらのエラー タイプを使用する場合、定義する必要があるのは、エラー クラス名とエラー メッセージだけです。その後、Node.js が自動的にエラー オブジェクトの構築を支援します。エラー オブジェクトがキャプチャされると、エラーの種類、メッセージ、スタック情報を簡単に取得して、エラーのデバッグと修復を容易にすることができます。

この記事では、Node.js の一般的なエラーの種類と、エラー モジュールを使用してエラーをキャプチャおよび管理する方法を紹介します。

エラー タイプ

Node.js では、一般的なエラー タイプは次のとおりです。

エラー

エラー はい 基本すべてのエラー タイプのクラスであり、あらゆるタイプのエラーを表すために使用される組み込み JavaScript 言語オブジェクトです。 Node.js の実行中にキャッチされない例外が発生すると、Error オブジェクトがスローされます。

例:

throw new Error('something went wrong');

TypeError

TypeError は、変数またはパラメーターの型が間違っていることを示す一般的なエラー タイプです。変数または関数パラメーターの型が予期された型と一致しないことがランタイムによって検出されると、TypeError エラーがスローされます。

例:

var n = null;
var result = n.toUpperCase();  // TypeError: Cannot read property 'toUpperCase' of null

RangeError

RangeError は、変数が有効な範囲を超えているか、配列が正当な範囲を超えていることを意味します (例: ##) #Array アクセス時にインデックス境界を超えた、計算時に Math が範囲を超えたなど。

例:

var arr = [1, 2, 3];
var n = arr[100];   // RangeError: Invalid array length

SyntaxError

SyntaxError スペル エラー、句読点エラー、かっこの欠落などのコード構文エラーを示します。

例:

var n = 5;
if (n == 5 {    // SyntaxError: missing ) after condition
    console.log('value is 5');
}

EvalError

EvalError は、eval 関数で発生したエラーを表します。

例:

try {
  eval('alert("Hello World)'); // EvalError: missing ) after argument list
} catch (err) {
  console.log(err.stack);
}

エラー処理

エラーが発生した場合、Node.js の

try...catch ステートメントを使用してキャッチできます。それは Error であり、エラーを処理するか、エラーをスローします。

try {
  // some code here
} catch (err) {
  // error handling here
}

同時に、Node.js はいくつかのエラー処理メソッドも提供します:

1.

process.on.

# を使用できます。 ## process.on

メソッドを使用して、最終的な処理と記録のために try...catch ではキャッチされない例外をキャッチします。 <pre class='brush:javascript;toolbar:false;'>process.on('uncaughtException', (err) =&gt; { console.log('Uncaught Exception'); console.log(err.stack); });</pre>2.

console.trace

console.trace

メソッドは、現在の場所と関数呼び出しを含む、現在の呼び出しスタック トレース情報を出力します。スタック。 <pre class='brush:javascript;toolbar:false;'>function foo() { console.trace('trace function'); } function bar() { foo(); } bar();</pre>出力:

Trace: trace function
    at foo (/path/to/file.js:2:11)
    at bar (/path/to/file.js:6:3)
    at Object.<anonymous> (/path/to/file.js:9:1)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:643:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:839:10)
    at internal/main/run_main_module.js:17:11

3.

assert

assert

このモジュールは、プログラムで使用するためのいくつかのアサーション メソッドを提供します。そして例外。 <pre class='brush:javascript;toolbar:false;'>var assert = require('assert'); var n = 5; assert.ok(n == 5, 'n should be 5');</pre>結論

Node.js のエラー モジュールは、いくつかの一般的なエラー タイプと、try...catch でキャッチされない例外を処理するメソッドを提供します。 Node.js アプリケーションでは、エラーを適切に管理することでプログラムの安定性と信頼性が向上し、エラーの問題をタイムリーに発見して修正できるようになります。

以上がnodejsエラーモジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。