Error Handling Middleware
Penjelasan
Error handling middleware dikenali Express dari JUMLAH ARGUMENnya yang PERSIS 4 (err, req, res, next) — beda dari middleware biasa yang cuma 3. Didaftarkan PALING TERAKHIR (setelah semua route lain), berfungsi menangkap error dari mana pun asalnya (dilempar lewat next(err) atau throw di dalam middleware/handler).
Contoh Konsep
app.get('/error-contoh', (req, res, next) => {
const error = new Error('Terjadi kesalahan!');
next(error); // meneruskan error ke error handling middleware
});
// WAJIB didaftarkan PALING TERAKHIR, setelah semua route lain
app.use((err, req, res, next) => {
console.error(err.message);
res.status(500).json({ error: err.message });
});
Praktikum
Buat error handling middleware (4 argumen) yang mencatat err.message ke console dan merespons res.status(500).json({error: 'Terjadi kesalahan server'}). Pastikan didaftarkan paling terakhir di file.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Express HANYA mengenali sebuah middleware sebagai error handler kalau parameternya PERSIS 4 (err, req, res, next) — kalau kamu hapus salah satu parameter yang tidak dipakai (mis. next), Express justru menganggapnya middleware BIASA dan tidak akan pernah dipanggil untuk menangani error.