Pengendalian Ralat dalam Express.js: Strategi Berkesan dan Mesej Tindak Balas

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.