Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >modul ralat nodejs
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.
Dalam Node.js, jenis ralat biasa adalah seperti berikut:
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
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
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
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
mewakili ralat yang berlaku dalam fungsi eval
.
Contoh:
try { eval('alert("Hello World)'); // EvalError: missing ) after argument list } catch (err) { console.log(err.stack); }
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:
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); });
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
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');
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!