सरल निदान: exceptions बनाम guard checks
अपेक्षित अमान्य इनपुट के लिए guard checks लागू कीजिए, असाधारण स्थितियों के लिए exceptions फेंकिए और त्रुटियों को शालीनता से संभालने हेतु try/catch का उपयोग कीजिए।
सरल निदान: exceptions बनाम guard checks, CoddyKit पर C# अकादमी का एक निःशुल्क पाठ है। यह 3 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह C# अकादमी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C# अकादमी पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
निदान का अवलोकन
लक्ष्य: अपेक्षित समस्याओं के लिए सुरक्षा-जाँच और दुर्लभ, गंभीर समस्याओं के लिए अपवाद का उपयोग करें।
सुरक्षा-जाँच का उदाहरण
सुरक्षा-जाँच सामान्य अमान्य इनपुट के लिए अपवाद उत्पन्न करने के बजाय एक स्थिति लौटाती हैं।
using System;
public class Program
{
public static bool TryDivide(int a, int b, out int result)
{
if (b == 0)
{
result = 0;
return false; // guard check fails
}
result = a / b;
return true;
}
public static void Main(string[] args)
{
int r;
bool ok = TryDivide(10, 0, out r);
Console.WriteLine("ok=" + ok + " result=" + r);
}
}
अपवाद का उदाहरण
अपवाद संभाले न जाने पर निष्पादन रोक देते हैं। इनका उपयोग अप्रत्याशित या गंभीर स्थितियों के लिए करें।
using System;
public class Program
{
public static int PriceWithTax(int price, int ratePercent)
{
if (price < 0)
{
throw new ArgumentOutOfRangeException("price");
}
if (ratePercent < 0 || ratePercent > 100)
{
throw new ArgumentOutOfRangeException("ratePercent");
}
return price + (price * ratePercent / 100);
}
public static void Main(string[] args)
{
try
{
int total = PriceWithTax(100, 20);
Console.WriteLine("Total=" + total);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
जाँच और अपवादों का मिश्रण
दोनों तरीकों का मिश्रण करें: नियमित सत्यापन के लिए सुरक्षा-जाँच और अमान्य स्थितियों के लिए अपवाद।
using System;
public class Program
{
public static bool TryParsePrice(string text, out int value)
{
return int.TryParse(text, out value); // guard check
}
public static int GetDiscount(int code)
{
if (code < 0) throw new ArgumentException("Invalid code"); // exception
return 10;
}
public static void Main(string[] args)
{
int v;
if (TryParsePrice("123", out v))
{
Console.WriteLine("Parsed " + v);
}
try
{
int d = GetDiscount(-1);
Console.WriteLine("Discount=" + d);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
try/catch उदाहरण
अपवादों को संभालने और प्रोग्राम को चलते रहने देने के लिए try/catch का उपयोग करें।
using System;
public class Program
{
public static void Main(string[] args)
{
try
{
int x = 10;
int y = 0;
int z = x / y; // will throw DivideByZeroException
Console.WriteLine(z);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Cannot divide by zero: " + ex.Message);
}
}
}
सुझाव
सुझाव:
- सामान्य स्थितियों के लिए सुरक्षा-जाँच सुरक्षित डिफ़ॉल्ट मान लौटाती हैं।
- अपवाद दुर्लभ और सार्थक होने चाहिए।
- केवल उन्हीं अपवादों को पकड़ें जिन्हें आप संभाल सकते हैं।
सुरक्षा-जाँच बनाम अपवाद
पुनरावलोकन
पुनरावलोकन: सामान्य अमान्य इनपुट के लिए सुरक्षा-जाँच का उपयोग करें, असाधारण स्थितियों के लिए अपवाद उत्पन्न करें, और जब सुधार संभव हो तब try/catch से उन्हें संभालें।
एआई शिक्षक के साथ C# सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 93
- पाठ
- 346
अक्सर पूछे जाने वाले प्रश्न
क्या “सरल निदान: exceptions बनाम guard checks” पाठ निःशुल्क है?
हाँ—“सरल निदान: exceptions बनाम guard checks” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और C# अकादमी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। C# अकादमी पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“सरल निदान: exceptions बनाम guard checks” में मैं क्या सीखूँगा?
अपेक्षित अमान्य इनपुट के लिए guard checks लागू कीजिए, असाधारण स्थितियों के लिए exceptions फेंकिए और त्रुटियों को शालीनता से संभालने हेतु try/catch का उपयोग कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C# अकादमी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या C# अकादमी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C# अकादमी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 3वाँ पाठ है।
“सरल निदान: exceptions बनाम guard checks” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस C# अकादमी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर C# अकादमी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- if/else, switch (पारंपरिक), लूप्स: for, while, do, foreach
- break/continue; goto (बचें); दायरा; exceptions बनाम guard checks
- सरल निदान: exceptions बनाम guard checks