modul ralat nodejs

WBOY
WBOYasal
2023-05-18 14:08:08518semak imbas

Node.js ialah persekitaran masa jalan JavaScript berdasarkan enjin Chrome V8, yang digunakan secara meluas untuk membangunkan aplikasi rangkaian berprestasi tinggi. Dalam Node.js, pelbagai ralat boleh berlaku yang boleh menjejaskan kestabilan dan kebolehpercayaan aplikasi anda. Oleh itu, Node.js menyediakan modul ralat untuk membantu pembangun mengurus ralat.

Modul ralat dalam Node.js menyediakan beberapa jenis ralat biasa. Apabila menggunakan jenis ralat ini, anda hanya perlu menentukan nama kelas ralat dan mesej ralat. Kemudian, Node.js secara automatik akan membantu kami membina objek ralat. Apabila objek ralat ditangkap, kami boleh mendapatkan jenis ralat, mesej dan maklumat tindanan dengan mudah untuk memudahkan penyahpepijatan dan pembaikan ralat.

Artikel ini memperkenalkan jenis ralat biasa dalam Node.js dan cara menggunakan modul ralat untuk menangkap dan mengurus ralat.

Jenis ralat

Dalam Node.js, jenis ralat biasa adalah seperti berikut:

Ralat

Error ialah semua jenis ralat Kelas asas, yang merupakan objek bahasa JavaScript terbina dalam yang digunakan untuk mewakili sebarang jenis ralat. Apabila pengecualian tidak ditangkap berlaku semasa Node.js sedang berjalan, objek Error dilemparkan.

Contoh:

throw new Error('something went wrong');

TypeError

TypeError ialah jenis ralat biasa, menunjukkan bahawa pembolehubah atau jenis parameter adalah salah. Ralat TypeError dilemparkan apabila masa jalan mendapati pembolehubah atau jenis parameter fungsi tidak sepadan dengan jenis yang dijangkakan.

Contoh:

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

RangeError

RangeError bermaksud pembolehubah melebihi julat yang sah atau tatasusunan melebihi julat undang-undang, contohnya, Array melebihi indeks sempadan apabila diakses, Math Di luar julat semasa pengiraan, dsb.

Contoh:

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

SyntaxError

SyntaxError Menunjukkan ralat sintaks kod, seperti ralat ejaan, ralat tanda baca, kurungan hilang, dsb.

Contoh:

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

EvalError

EvalError mewakili ralat yang berlaku dalam fungsi eval.

Contoh:

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

Pengendalian ralat

Apabila ralat berlaku, kita boleh menggunakan pernyataan try...catch Node.js untuk menangkap ralat, dan kemudian mengendalikan ralat atau Ralat dilemparkan.

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

Pada masa yang sama, Node.js juga menyediakan beberapa kaedah untuk mengendalikan ralat:

1 process.on.

Anda boleh menggunakan kaedah process.on untuk. tangkap belum dicuba ...tangkap pengecualian yang ditangkap untuk pemprosesan dan rakaman akhir.

process.on('uncaughtException', (err) => {
  console.log('Uncaught Exception');
  console.log(err.stack);
});

2. Kaedah console.trace

console.trace mencetak maklumat surih tindanan panggilan semasa, termasuk lokasi semasa dan timbunan panggilan fungsi.

function foo() {
  console.trace('trace function');
}

function bar() {
  foo();
}

bar();

Output:

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. Modul assert

assert menyediakan beberapa kaedah penegasan untuk mengesan ralat dan pengecualian dalam program.

var assert = require('assert');
var n = 5;
assert.ok(n == 5, 'n should be 5');

Kesimpulan

Modul ralat Node.js menyediakan beberapa jenis ralat biasa, serta kaedah untuk mengendalikan pengecualian yang tidak ditangkap dengan cuba...tangkap. Dalam aplikasi Node.js, mengurus ralat dengan betul boleh meningkatkan kestabilan dan kebolehpercayaan program dan membantu kami mencari dan menyelesaikan masalah ralat dengan lebih baik tepat pada masanya.

Atas ialah kandungan terperinci modul ralat nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn