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

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