modul ralat nodejs

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-05-18 14:08:08
asal
547 orang telah melayarinya

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');
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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');
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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
}
Salin selepas log masuk

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);
});
Salin selepas log masuk

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();
Salin selepas log masuk

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
Salin selepas log masuk

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');
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan