Rumah > Artikel > hujung hadapan web > ralat lontaran nodejs
Apabila membangun dalam Node.js, kami sering menggunakan pernyataan lontaran untuk membuang pengecualian. Apabila atur cara melaksanakan pernyataan lontaran, atur cara akan menghentikan pelaksanaan dan membuang pengecualian Pada masa ini, kita boleh menggunakan blok cuba...tangkap untuk menangkap pengecualian dan mengendalikannya.
Walau bagaimanapun, apabila kami menggunakan lontaran untuk melaporkan ralat, kadangkala beberapa situasi khas mungkin berlaku. Artikel ini akan membincangkan situasi ini secara terperinci dan memberikan penyelesaian yang sepadan.
Apabila menggunakan lontaran untuk melaporkan ralat, kami biasanya membuang mesej ralat dalam bentuk rentetan, contohnya:
throw '未找到指定文件!';
Walau bagaimanapun, dalam beberapa kes, kami mungkin perlu menambah beberapa maklumat tambahan semasa membuang pengecualian, seperti masa semasa atau laluan ke fail yang dilaksanakan. Pada ketika ini, kita boleh menggunakan templat rentetan untuk mencapai:
throw `文件 ${filePath} 于 ${new Date()} 未找到!`;
Dengan menggunakan rentetan templat, anda boleh menyambung rentetan dengan mudah, menjadikan mesej ralat lebih terperinci dan berguna.
Selain maklumat ralat jenis rentetan, kami juga boleh menggunakan objek Ralat untuk membuang ralat. Ini boleh menjadikan mesej ralat lebih terperinci, dan juga boleh menambah beberapa sifat dan kaedah lain untuk mengendalikan ralat dengan lebih baik.
Contohnya:
throw new Error('未找到指定文件!', { code: 'ENOENT', path: '/usr/local/app' });
Dalam contoh ini, kami membuang objek Ralat, yang mengandungi mesej ralat jenis rentetan dan sifat jenis objek. Objek ini mengandungi beberapa maklumat tambahan, seperti kod ralat dan laluan fail pelaksanaan, yang boleh membantu kami mengendalikan ralat dengan lebih baik.
Dalam sesetengah kes, kita mungkin perlu menggunakan jenis ralat tersuai untuk membuang ralat. Sebagai contoh, apabila membangunkan API, kita mungkin perlu menentukan beberapa jenis ralat antara muka supaya pelanggan boleh mengendalikan ralat dengan lebih baik.
Kami boleh menentukan jenis ralat kami sendiri dengan mewarisi kelas Ralat:
class APIError extends Error { constructor(message, code) { super(message); this.name = 'APIError'; this.code = code; } }
Dalam contoh ini, kami mentakrifkan jenis APIError yang mewarisi daripada kelas Ralat dan menambah mesej ralat dan kod ralat . Apabila menggunakannya, kami boleh membuang jenis ralat tersuai dengan membuang ralat:
if (!user.hasPermission('ADMIN')) { throw new APIError('没有权限操作', 403); }
Dengan cara ini, mesej ralat kami boleh dibuat dengan lebih jelas dan lebih mudah untuk diuruskan, dan ia juga boleh berkomunikasi dengan lebih baik dengan pelanggan berinteraksi.
Ringkasan
Menggunakan lontaran untuk melaporkan ralat ialah operasi yang sangat biasa dalam Node.js. Dalam perkembangan sebenar, kita akan menghadapi pelbagai situasi dan perlu menanganinya dengan sewajarnya. Artikel ini memperkenalkan kaedah melontar jenis rentetan, melontar jenis objek Ralat dan melontar jenis ralat tersuai untuk membantu anda mengendalikan dan mengurus ralat dengan lebih baik.
Atas ialah kandungan terperinci ralat lontaran nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!