Di node.js, ketika kesalahan terjadi dalam fungsi panggilan balik, seluruh proses akan macet, mempengaruhi pelaksanaan kode selanjutnya.
Node.js menangani dengan cara ini karena ketika kesalahan yang tidak tertulis terjadi, status proses tidak pasti. Itu tidak akan bekerja dengan baik setelah itu. Jika kesalahan tidak pernah diproses, kesalahan tak terduga akan dilemparkan, yang tidak kondusif untuk debugging.
Ada dua cara utama untuk mencegah pemblokiran proses yang disebabkan oleh kesalahan:
1. Cobalah tangkapan
TRY-Catch memungkinkan pengecualian dan memungkinkan kode untuk melanjutkan eksekusi:
Misalnya:
Ketika fungsi melakukan kesalahan, kode berhenti mengeksekusi:
(function () {var a = 0; a (); console.log ("Get here."); // tidak dieksekusi}) ();Setelah menggunakan TRY-Catch untuk pemrosesan kesalahan, kode masih dapat dieksekusi:
(function () {var a = 0; coba {a ();} catch (e) {console.log (e);} console.log ("dapatkan di sini."); // Dapatkan di sini.}) ();TRY-Catch tidak dapat menangkap kesalahan fungsi eksekusi di masa depan
Tidak mungkin untuk menangkap kesalahan yang dilemparkan oleh fungsi yang hanya dieksekusi di masa depan. Ini akan melempar pengecualian yang tidak tertulis secara langsung, dan blok kode tangkapan tidak akan pernah dieksekusi:
coba {setTimeout (function () {throw new error ("here");}, 10);} catch (e) {console.log (e);}Inilah sebabnya di Node.js, tauge kacang ditangani dengan benar pada setiap langkah.
Tambahkan penangan uncatchexception
Jika prosesor uncatchException ditambahkan, proses tidak akan keluar ketika fungsi melempar kesalahan.
process.on ("uncatchexception", function (e) {console.log (e); process.exit (1);});Di atas adalah metode mencegah pemblokiran proses di node.js yang disebabkan oleh kesalahan yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!