أثناء تطوير التطبيق ، تعد معالجة الأخطاء جانبًا مهمًا لضمان تجربة مستخدم سلسة وتخفيف المشكلات غير المتوقعة. في 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 أخطاء معينة ومعالجتها وتوفير رسائل استجابة مناسبة ، يمكنك إنشاء تجربة تطبيق سلسة وموثوقة للمستخدمين.