Semasa pembangunan aplikasi, pengendalian ralat adalah aspek penting untuk memastikan pengalaman pengguna yang lancar dan mengurangkan isu yang tidak dijangka. Dalam Express.js persekitaran, anda mempunyai beberapa cara untuk mengendalikan ralat dan memberikan mesej respons yang sesuai kepada pengguna. Berikut ialah panduan tentang cara untuk mencapai ini:
Menggunakan Middleware untuk Pengendalian Ralat Global
Buat pengendalian ralat global middleware dengan menambahkan kod berikut pada penghujung fail app.js
atau fail utama aplikasi anda Express.js.
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
Mengendalikan Ralat untuk Tertentu Route
Secara khusus route, anda boleh menggunakan try
blok catch
untuk menangkap ralat dan memberikan mesej respons yang sesuai.
app.get('/profile/:id', async(req, res) => {
try {
const user = await getUserById(req.params.id);
res.json(user);
} catch(error) {
res.status(404).send('User not found!');
}
});
Menggunakan Ralat Berpusat Middleware
Cipta ralat terpusat middleware untuk mengendalikan ralat yang berpunca daripada pelbagai route.
app.use((req, res, next) => {
const error = new Error('Not found');
error.status = 404;
next(error);
});
app.use((err, req, res, next) => {
res.status(err.status || 500);
res.send(err.message || 'Something went wrong');
});
Mengendalikan Ralat Asynchronous
Dalam kes pengendalian tak segerak, gunakan next
kaedah untuk menghantar ralat kepada pengendalian ralat global middleware.
app.get('/data',(req, res, next) => {
fetchDataFromDatabase((err, data) => {
if(err) {
return next(err);
}
res.json(data);
});
});
Kesimpulan
Pengendalian ralat adalah bahagian penting dalam Express.js pembangunan aplikasi. Dengan menggunakan middleware, mengendalikan ralat tertentu dan menyediakan mesej respons yang sesuai, anda boleh mencipta pengalaman aplikasi yang lancar dan boleh dipercayai untuk pengguna anda.