TypeScript Academy · पाठ

त्रुटि टाइपिंग (unknown), catch में नैरोइंग

catch पैरामीटर को unknown प्रकार दें, फिर सुरक्षित त्रुटि प्रबंधन के लिए instanceof/typeof या कस्टम गार्ड से उसका प्रकार सीमित करें।

पाठ 2, कुल 3 में से8 चरण

त्रुटि टाइपिंग (unknown), catch में नैरोइंग, CoddyKit पर TypeScript Academy का एक निःशुल्क पाठ है। यह 3 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह TypeScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। TypeScript Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

परिचय

लक्ष्य: त्रुटियों को अज्ञात प्रकार में पकड़ना और सुरक्षित रूप से उनका प्रकार सीमित करना। आप त्रुटि का डेटा बिना अप्रत्याशित परिणामों के पढ़ने के लिए instanceof, typeof और कस्टम प्रकार-रक्षकों का उपयोग करेंगे।

अज्ञात प्रकार और instanceof

अज्ञात प्रकार से शुरू करें। instanceof Error से प्रकार सीमित करके message, stack आदि तक पहुँचें।

async function boom(): Promise<void> { throw new Error("boom") }

async function run() {
  try {
    await boom();
  } catch (e: unknown) {
    if (e instanceof Error) {
      console.error("Handled:", e.message);
    } else {
      console.error("Non-Error thrown:", e);
    }
  }
}

run();

आदिम मानों के लिए typeof

कुछ कोड स्ट्रिंग या अन्य आदिम मानों को त्रुटि के रूप में उछालते हैं। प्रकार सीमित करने और उन्हें उचित ढंग से सँभालने के लिए typeof का उपयोग करें।

function throwString() { throw "bad" }

try {
  throwString();
} catch (e: unknown) {
  if (typeof e === "string") {
    console.warn("string error:", e.toUpperCase());
  } else {
    console.warn("other error", e);
  }
}

कस्टम रक्षक

विभिन्न परतों से आने वाली “त्रुटि-जैसी” संरचनाओं को पहचानने के लिए उपयोगकर्ता-परिभाषित प्रकार-रक्षक बनाएँ।

type ErrorLike = { message: string; code?: string };

function isErrorLike(e: unknown): e is ErrorLike {
  return !!e && typeof e === "object" && "message" in e;
}

try {
  throw { message: "oops", code: "E_BAD" };
} catch (e: unknown) {
  if (isErrorLike(e)) {
    console.error(e.message, e.code ?? "no-code");
  } else {
    console.error("unknown error", e);
  }
}

सुरक्षित लॉग-लेखन

त्रुटि प्रबंधन को एक जगह केंद्रीकृत करें। एक छोटा सहायक प्रकार को सीमित करके सुरक्षित रूप से लॉग दर्ज करता है और स्वयं लॉग दर्ज करते समय होने वाली त्रुटियों से बचाता है।

function logErrorSafe(e: unknown): void {
  if (e instanceof Error) {
    console.error("Error:", e.message);
  } else if (typeof e === "string") {
    console.error("Error(string):", e);
  } else {
    try {
      console.error("Error(obj):", JSON.stringify(e));
    } catch {
      console.error("Error(unknown)");
    }
  }
}

try { throw { oops: true } } catch (e: unknown) { logErrorSafe(e) }

सुझाव

सुझाव:

  • कैच में अज्ञात प्रकार को प्राथमिकता दें।
  • instanceof, typeof या रक्षकों से प्रकार सीमित करें।
  • Error मानकर न चलें—तृतीय-पक्ष कोड कुछ भी उछाल सकता है।

त्रुटि प्रकार जाँच

त्वरित जाँच: कैच में unknown को प्राथमिकता क्यों दी जाती है?

पुनरावलोकन

पुनरावलोकन: त्रुटियों को अज्ञात प्रकार में पकड़ें, instanceof/typeof या कस्टम रक्षकों से प्रकार सीमित करें और सुरक्षित लॉग-लेखन को एक जगह केंद्रीकृत करें।

शुरुआत निःशुल्क

एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
101
पाठ
352

अक्सर पूछे जाने वाले प्रश्न

क्या “त्रुटि टाइपिंग (unknown), catch में नैरोइंग” पाठ निःशुल्क है?

हाँ—“त्रुटि टाइपिंग (unknown), catch में नैरोइंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

“त्रुटि टाइपिंग (unknown), catch में नैरोइंग” में मैं क्या सीखूँगा?

catch पैरामीटर को unknown प्रकार दें, फिर सुरक्षित त्रुटि प्रबंधन के लिए instanceof/typeof या कस्टम गार्ड से उसका प्रकार सीमित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 2वाँ पाठ है।

“त्रुटि टाइपिंग (unknown), catch में नैरोइंग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Promise , async/await टाइपिंग
  2. त्रुटि टाइपिंग (unknown), catch में नैरोइंग
  3. समवर्ती पैटर्न (all/settled/race) के प्रकार
← TypeScript Academy पर वापस जाएँ