აპლიკაციის შემუშავებისას, შეცდომების დამუშავება გადამწყვეტი ასპექტია მომხმარებლის გლუვი გამოცდილების უზრუნველსაყოფად და გაუთვალისწინებელი პრობლემების შესამსუბუქებლად. გარემოში 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
ბლოკი შეცდომების დასაჭერად და შესაბამისი საპასუხო შეტყობინებების მიწოდებისთვის.
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, კონკრეტული შეცდომების დამუშავებით და შესაბამისი საპასუხო შეტყობინებების მიწოდებით, შეგიძლიათ შექმნათ გლუვი და საიმედო აპლიკაციის გამოცდილება თქვენი მომხმარებლებისთვის.