टाइपस्क्रिप्ट में त्रुटि प्रबंधन

टाइपस्क्रिप्ट में त्रुटि प्रबंधन

यह लेख टाइपस्क्रिप्ट में त्रुटि प्रबंधन को समझाता है।

YouTube Video

टाइपस्क्रिप्ट में त्रुटि प्रबंधन

जैसा कि जावास्क्रिप्ट में होता है, टाइपस्क्रिप्ट में त्रुटि प्रबंधन मुख्य रूप से try...catch संरचना का उपयोग करके किया जाता है। टाइपस्क्रिप्ट में, टाइप इन्फरेंस के माध्यम से त्रुटि सामग्री को अधिक स्पष्ट रूप से प्रबंधित करना संभव है। यह अधिक सटीक और पठनीय त्रुटि प्रबंधन की अनुमति देता है।

try...catch सिंटैक्स

त्रुटि प्रबंधन के लिए मूल सिंटैक्स इस प्रकार है:।

 1try {
 2    // Code that may throw an error
 3    throw new Error("Something went wrong!");
 4} catch (error) {
 5    // Catch and handle the error
 6    console.error("Error:", error);
 7} finally {
 8    // Code that runs regardless of whether an error occurred
 9    console.log("Finally block executed.");
10}

टाइप-सुरक्षित त्रुटि प्रबंधन

टाइपस्क्रिप्ट में, catch ब्लॉक के भीतर पकड़ी गई त्रुटियों को any प्रकार के रूप में माना जाता है, लेकिन सुरक्षित त्रुटि प्रबंधन के लिए उचित प्रकार निर्दिष्ट करने की सिफारिश की जाती है। उदाहरण के लिए, आप एक कस्टम त्रुटि प्रकार परिभाषित कर सकते हैं और उसका उपयोग इस प्रकार कर सकते हैं:।

 1class CustomError extends Error {
 2    constructor(message: string, public errorCode: number) {
 3        super(message);
 4        this.name = "CustomError";
 5    }
 6}
 7
 8try {
 9    throw new CustomError("Invalid operation", 400);
10} catch (error) {
11    if (error instanceof CustomError) {
12        console.error(`Error: ${error.message}, Code: ${error.errorCode}`);
13    } else {
14        console.error("Unknown error occurred");
15    }
16}

इस उदाहरण में, CustomError नामक एक क्लास बनाई गई है, और इसमें errorCode जैसी कस्टम प्रॉपर्टीज़ के साथ एक त्रुटि फेंकी जाती है। catch ब्लॉक में, त्रुटि के प्रकार का निर्धारण करने और उपयुक्त प्रबंधन करने के लिए instanceof का उपयोग करें।

असिंक्रोनस त्रुटि प्रबंधन

TypeScript में, try...catch का उपयोग असिंक्रोनस फंक्शन का उपयोग करते समय त्रुटियों को संभालने के लिए भी किया जाता है।

 1async function fetchData() {
 2    try {
 3        const response = await fetch("https://api.example.com/data");
 4        if (!response.ok) {
 5            throw new Error(`HTTP error! status: ${response.status}`);
 6        }
 7        const data = await response.json();
 8        console.log(data);
 9    } catch (error) {
10        console.error("Failed to fetch data:", error);
11    }
12}
13
14fetchData();

इस उदाहरण में, डेटा को fetch का उपयोग करके लाया जाता है, और यदि स्थिति कोड OK नहीं है तो त्रुटि फेंकने के लिए response.ok जाँचा जाता है। त्रुटि catch में पकड़ी जाती है, और उपयुक्त लॉग मुद्रित किया जाता है।

सारांश

टाइपस्क्रिप्ट में, त्रुटि सामग्री को स्पष्ट करने के लिए प्रकारों का उपयोग त्रुटि प्रबंधन को सुरक्षित और अधिक पठनीय बनाता है। त्रुटियों को संभालते समय, यह स्पष्ट करना महत्वपूर्ण है कि किन प्रकार की त्रुटियाँ हो सकती हैं और उन्हें ठीक से प्रबंधित करें।

त्रुटि

टाइपस्क्रिप्ट में Error क्लास, जावास्क्रिप्ट में Error क्लास को विस्तारित करती है और त्रुटियों को प्रदर्शित करने के लिए एक मौलिक ऑब्जेक्ट है। Error क्लास का उपयोग करके, आप एक ऐसा ऑब्जेक्ट बना सकते हैं जिसमें त्रुटि संदेश शामिल हो और त्रुटि प्रबंधन कर सकते हैं।

Error क्लास की मूल बातें

Error क्लास का उपयोग इस प्रकार होता है।

1const error = new Error("Something went wrong!");
2console.log(error.message); // "Something went wrong!"
3console.log(error.name);    // "Error"

गुण

Error क्लास में निम्नलिखित प्रॉपर्टीज़ होती हैं:।

  • message एक स्ट्रिंग जो त्रुटि संदेश को दर्शाती है।
  • name त्रुटि का नाम। डिफ़ॉल्ट रूप से, यह "Error" है, लेकिन इसे एक कस्टम त्रुटि वर्ग बनाकर बदला जा सकता है।
  • stack डिबगिंग के लिए उपयोग की जाने वाली स्टैक ट्रेस जानकारी। एक स्ट्रिंग जो यह दर्शाती है कि किस कोड के कारण त्रुटि हुई।

कस्टम त्रुटि वर्ग

Error वर्ग को विस्तारित करना और अपना कस्टम त्रुटि वर्ग बनाना भी संभव है। यह उन स्थितियों में उपयोगी होता है जहां विशेष त्रुटि प्रबंधन की आवश्यकता होती है। उदाहरण के लिए, यह तब प्रभावी होता है जब आप HTTP अनुरोध त्रुटियों या डेटाबेस त्रुटियों जैसे विभिन्न प्रकार की त्रुटियों को प्रबंधित करना चाहते हैं।

कस्टम त्रुटि बनाने का उदाहरण

 1class CustomError extends Error {
 2    constructor(message: string, public errorCode: number) {
 3        super(message); // Call the constructor of the parent class 'Error'
 4        this.name = "CustomError"; // Set the name of the error
 5    }
 6}
 7
 8const customError = new CustomError("Invalid operation", 400);
 9console.log(customError.message);   // "Invalid operation"
10console.log(customError.name);      // "CustomError"
11console.log(customError.errorCode); // 400
  • CustomError वर्ग बनाकर और त्रुटि कोड जैसी जानकारी जोड़कर, आप त्रुटियों के बारे में अधिक व्यापक जानकारी प्रबंधित कर सकते हैं।

Error वर्ग की उत्तराधिकारिता

TypeScript में, जब आप Error वर्ग को विस्तारित करके एक कस्टम त्रुटि वर्ग बनाते हैं, तो कुछ बातों का ध्यान रखना चाहिए।

  1. super() को कॉल करना कस्टम त्रुटि क्लास के कंस्ट्रक्टर में, आपको Error क्लास के कंस्ट्रक्टर को कॉल करने के लिए super() अवश्य कॉल करना चाहिए। यह सुनिश्चित करता है कि message और stack गुण ठीक से प्रारंभ किए गए हैं।

  2. प्रॉपर्टीज़ जोड़ना यदि आप त्रुटि ऑब्जेक्ट में अतिरिक्त जानकारी जोड़ना चाहते हैं, तो क्लास के अंदर नई प्रॉपर्टीज़ परिभाषित करें। उदाहरण के लिए, ऊपर के CustomError में, एक errorCode गुण जोड़ा गया है।

त्रुटियां फेंकना और पकड़ना

आप त्रुटियों को संभालने के लिए Error क्लास या कस्टम त्रुटि क्लास का उपयोग करके त्रुटियों को फेंक और पकड़ सकते हैं।

 1function riskyOperation() {
 2    throw new Error("Something went wrong during the operation");
 3}
 4
 5try {
 6    riskyOperation();
 7} catch (error) {
 8    if (error instanceof Error) {
 9        console.error(error.message);  // "Something went wrong during the operation"
10        console.error(error.name);     // "Error"
11    }
12}

कस्टम त्रुटियों के मामले में भी, instanceof का उपयोग करके विशिष्ट त्रुटियों की पहचान करें और उन्हें सही तरीके से संभालें।

 1class CustomError extends Error {
 2    constructor(message: string, public errorCode: number) {
 3        super(message);
 4        this.name = "CustomError";
 5    }
 6}
 7
 8try {
 9    throw new CustomError("Database connection failed", 500);
10} catch (error) {
11    if (error instanceof CustomError) {
12        console.error(`Error: ${error.message}, Code: ${error.errorCode}`);
13    }
14}

सारांश

TypeScript में Error वर्ग मानक त्रुटि प्रबंधन के लिए एक मूलभूत वर्ग है। इसके अलावा, Error वर्ग को विस्तारित करके कस्टम त्रुटियां बनाकर, त्रुटि प्रकार और अतिरिक्त जानकारी पर आधारित लचीला त्रुटि प्रबंधन संभव हो जाता है।

आप हमारे YouTube चैनल पर Visual Studio Code का उपयोग करके ऊपर दिए गए लेख के साथ आगे बढ़ सकते हैं। कृपया YouTube चैनल को भी देखें।

YouTube Video