Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में FormatException: अमान्य फॉर्मेट पर फेंका जाता है


FormatException तब फेंका जाता है जब किसी आर्गुमेंट का फॉर्मेट अमान्य होता है (जैसे गैर-संख्यात्मक स्ट्रिंग को int.Parse में पास करना)।

उदाहरण

using System;

class Demo
{
    static void Main()
    {
        string str = "3.5";
        int res = int.Parse(str);  // ❌ FormatException: "3.5" इंट नहीं
    }
}

आउटपुट

Unhandled Exception: System.FormatException: Input string was not in a correct format.

सामान्य कारण

  • int.Parse("abc"), double.Parse("xyz")।
  • DateTime.Parse("invalid-date")।
  • Guid.Parse("not-a-guid")।
  • कंपोजिट फॉर्मेटिंग में गलत प्लेसहोल्डर: string.Format("{0}{1}", val) (दूसरा आर्गुमेंट गायब)।

हैंडलिंग

// 1. TryParse पैटर्न (अनुशंसित)
if (int.TryParse(str, out int result))
    Console.WriteLine(result);
else
    Console.WriteLine("अमान्य संख्या");

// 2. Try-Catch
try { int x = int.Parse(str); }
catch (FormatException) { /* हैंडल */ }

// 3. वैलिडेशन पहले
if (int.TryParse(str, out _)) { ... }
  1. - C# में ओवरलोडिंग क्या है

    C# स्टैटिक पॉलीमॉर्फिज्म इम्प्लीमेंट करने के लिए दो तकनीकें प्रदान करता है - फंक्शन ओवरलोडिंग ऑपरेटर ओवरलोडिंग फंक्शन ओवरलोडिंग एक ही नाम वाले लेकिन अलग-अलग पैरामीटर्स वाले दो या दो से अधिक मेथड्स को C# में फंक्शन ओवरलोडिंग कहा जाता है। C# में फंक्शन ओवरलोडिंग आर्गुमेंट्स की संख्या और आर्गुमेंट्स

  1. - C# में एन्यूमरेशन क्या है

    Enum, एन्यूमरेशन है जो नामित कॉन्स्टेंट्स का एक सेट स्टोर करता है जैसे वर्ष, उत्पाद, महीना, मौसम, आदि। Enum कॉन्स्टेंट्स का डिफ़ॉल्ट मान 0 से शुरू होता है और बढ़ता जाता है। इसमें कॉन्स्टेंट्स का एक फिक्स्ड सेट होता है और इसे आसानी से ट्रैवर्स किया जा सकता है। आइए एक उदाहरण देखें। हमने enum को इस तरह

  1. - C# और मल्टीपल इनहेरिटेंस (Multiple Inheritance)

    C# में मल्टीपल इनहेरिटेंस समर्थित नहीं है। मल्टीपल इनहेरिटेंस लागू करने के लिए इंटरफेस का उपयोग करें।क्लास Shape में हमारा इंटरफेस PaintCost है:public interface PaintCost { int getCost(int area); }Shape हमारा बेस क्लास है जबकि Rectangle डेराइव्ड क्लास है:class Rectangle : Shape, PaintCost { public i