معالجة الأخطاء في Express.js: الإستراتيجيات الفعالة ورسائل الاستجابة

أثناء تطوير التطبيق ، تعد معالجة الأخطاء جانبًا مهمًا لضمان تجربة مستخدم سلسة وتخفيف المشكلات غير المتوقعة. في Express.js البيئة ، لديك عدة طرق للتعامل مع الأخطاء وتقديم رسائل استجابة مناسبة للمستخدمين. إليك دليل حول كيفية تحقيق ذلك:

استخدام Middleware لمعالجة الأخطاء العالمية

قم بإنشاء معالجة خطأ عام middleware عن طريق إضافة الكود التالي في نهاية الملف app.js أو الملف الرئيسي للتطبيق الخاص بك Express.js.

app.use((err, req, res, next) => {  
  console.error(err.stack);  
  res.status(500).send('Something went wrong!');  
});  

معالجة الأخطاء لأغراض محددة Route

في حالة معينة route ، يمكنك استخدام try- catch block للقبض على الأخطاء وتقديم رسائل الاستجابة المناسبة.

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!');  
  }  
});  

باستخدام خطأ مركزي Middleware

قم بإنشاء خطأ مركزي middleware لمعالجة الأخطاء التي تنشأ من مختلف 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');  
});  

معالجة الأخطاء غير المتزامنة

في حالة المعالجة غير المتزامنة ، استخدم الطريقة next لتمرير الأخطاء إلى معالجة الأخطاء العامة middleware.

app.get('/data',(req, res, next) => {  
  fetchDataFromDatabase((err, data) => {  
    if(err) {  
      return next(err);  
    }  
    res.json(data);  
  });  
});  

 

خاتمة

تعتبر معالجة الأخطاء جزءًا لا يتجزأ من Express.js تطوير التطبيق. من خلال استخدام middleware أخطاء معينة ومعالجتها وتوفير رسائل استجابة مناسبة ، يمكنك إنشاء تجربة تطبيق سلسة وموثوقة للمستخدمين.