त्रुटि प्रबंधन 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, विशिष्ट त्रुटियों को संभालकर, और उचित प्रतिक्रिया संदेश प्रदान करके, आप अपने उपयोगकर्ताओं के लिए एक सहज और विश्वसनीय एप्लिकेशन अनुभव बना सकते हैं।