Selama pengembangan aplikasi, penanganan kesalahan merupakan aspek penting untuk memastikan pengalaman pengguna yang lancar dan mengurangi masalah yang tidak terduga. Di Express.js lingkungan, Anda memiliki beberapa cara untuk menangani kesalahan dan memberikan pesan respons yang sesuai kepada pengguna. Berikut panduan tentang cara mencapainya:
Menggunakan Middleware untuk Penanganan Kesalahan Global
Buat penanganan error global middleware dengan menambahkan kode berikut di akhir app.js
atau file utama Express.js aplikasi Anda.
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
Menangani Kesalahan untuk Spesifik Route
Secara khusus route, Anda dapat menggunakan try
- catch
blok untuk menangkap kesalahan dan memberikan pesan 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 Kesalahan Terpusat Middleware
Buat error terpusat middleware untuk menangani error yang berasal dari berbagai 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');
});
Menangani Kesalahan Asinkron
Dalam kasus penanganan asinkron, gunakan next
metode untuk meneruskan kesalahan ke penanganan kesalahan global middleware.
app.get('/data',(req, res, next) => {
fetchDataFromDatabase((err, data) => {
if(err) {
return next(err);
}
res.json(data);
});
});
Kesimpulan
Penanganan kesalahan merupakan bagian integral dari Express.js pengembangan aplikasi. Dengan memanfaatkan middleware, menangani kesalahan tertentu, dan memberikan pesan respons yang sesuai, Anda dapat menciptakan pengalaman aplikasi yang lancar dan andal bagi pengguna Anda.