पाठ 22 / 28

अनकैच्ड एक्सेप्शन और Process इवेंट्स

जब कुछ हर catch से बच जाए, तब अंतिम रक्षा पंक्ति।

uncaughtException

उन एक्सेप्शन को सुनें जो आपके सभी try/catch ब्लॉक से बच जाते हैं — इसका उपयोग लॉग करके साफ़-सुथरे तरीके से बाहर निकलने के लिए करें, चलते रहने के लिए नहीं।

process.on("uncaughtException", (err) => {
  console.error("Fatal error:", err);
  process.exit(1);
});

process.on("unhandledRejection", (reason) => {
  console.error("Unhandled rejection:", reason);
  process.exit(1);
});

exit इवेंट

process.on("exit", ...), Node बंद होने से ठीक पहले चलता है — अंतिम सिंक्रोनस सफ़ाई के लिए अच्छा है, पर वहाँ कोई एसिंक कार्य नहीं चलता।

त्वरित जाँच: uncaughtException चलने के बाद, अनुशंसित कार्रवाई क्या है?

  • इसे नज़रअंदाज़ करें और चलते रहें
  • इसे लॉग करें और process बंद कर दें
  • विफल ऑपरेशन को अपने-आप फिर से आज़माएँ
Answer

इसे लॉग करें और process बंद कर दें — अनकैच्ड एक्सेप्शन के बाद, ऐप की स्थिति खराब हो सकती है — बिना रुके चलने के बजाय एरर लॉग करें और बाहर निकलें।