ホームページ >ウェブフロントエンド >フロントエンドQ&A >nodejsエラーモジュール
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
エラーがスローされます。
例:
var n = null; var result = n.toUpperCase(); // TypeError: Cannot read property 'toUpperCase' of null
RangeError
は、変数が有効な範囲を超えているか、配列が正当な範囲を超えていることを意味します (例: ##) #Array アクセス時にインデックス境界を超えた、計算時に
Math が範囲を超えたなど。
var arr = [1, 2, 3]; var n = arr[100]; // RangeError: Invalid array lengthSyntaxError
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.
.
メソッドを使用して、最終的な処理と記録のために try...catch ではキャッチされない例外をキャッチします。 <pre class='brush:javascript;toolbar:false;'>process.on('uncaughtException', (err) => {
console.log('Uncaught Exception');
console.log(err.stack);
});</pre>
2.
メソッドは、現在の場所と関数呼び出しを含む、現在の呼び出しスタック トレース情報を出力します。スタック。 <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
このモジュールは、プログラムで使用するためのいくつかのアサーション メソッドを提供します。そして例外。 <pre class='brush:javascript;toolbar:false;'>var assert = require('assert');
var n = 5;
assert.ok(n == 5, 'n should be 5');</pre>
結論
以上がnodejsエラーモジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。