Rumah  >  Artikel  >  hujung hadapan web  >  ralat lontaran nodejs

ralat lontaran nodejs

王林
王林asal
2023-05-28 13:43:09925semak imbas

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.

  1. Melempar mesej ralat jenis rentetan

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.

  1. Lempar maklumat ralat jenis objek Ralat

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.

  1. Lempar jenis ralat tersuai

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!

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