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

सी # में एसिंक शून्य विधि द्वारा फेंके गए अपवाद को कैसे पकड़ें?

सिंक्रोनस सी # कोड में, अपवादों को कॉल स्टैक तक प्रचारित किया जाता है जब तक कि वे एक उपयुक्त कैच ब्लॉक तक नहीं पहुंच जाते जो अपवाद को संभाल सकता है। हालांकि, एसिंक्रोनस विधियों में अपवाद प्रबंधन उतना सीधा नहीं है।

सी # में एक एसिंक्रोनस विधि में तीन प्रकार के रिटर्न वैल्यू हो सकते हैं:शून्य, कार्य और कार्य। जब एक एसिंक विधि में कोई अपवाद होता है जिसमें रिटर्न प्रकार का कार्य या कार्य होता है, तो अपवाद ऑब्जेक्ट को एग्रीगेट अपवाद के उदाहरण में लपेटा जाता है और कार्य ऑब्जेक्ट से जोड़ा जाता है।

यदि कई अपवाद फेंके जाते हैं, तो वे सभी कार्य ऑब्जेक्ट में संग्रहीत होते हैं।

उदाहरण 1

static async Task Main(string[] args) {
   await DoSomething();
   Console.ReadLine();
}
public static async Task Foo() {
   throw new ArgumentNullException();
}
public static async Task DoSomething(){
   try{
      await Foo();
   }
   catch (ArgumentNullException ex){
      Console.WriteLine(ex);
   }
}

आउटपुट

System.ArgumentNullException: Value cannot be null.
at DemoApplication.Program.Foo() in C:\Users\Koushik\Desktop\Questions\ConsoleApp\Program.cs:line 37
at DemoApplication.Program.DoSomething() in C:\Users\Koushik\Desktop\Questions\ConsoleApp\Program.cs:line 44

  1. पायथन में अंकगणित त्रुटि अपवाद कैसे पकड़ें?

    अंकगणित त्रुटि अपवाद संख्यात्मक गणनाओं के लिए होने वाली सभी त्रुटियों के लिए आधार वर्ग है। यह उन अंतर्निहित अपवादों के लिए आधार वर्ग है जैसे:ओवरफ्लोएरर, ज़ीरोडिविजन एरर, फ़्लोटिंगपॉइंट एरर हम दिए गए कोड में अपवाद को इस प्रकार पकड़ सकते हैं उदाहरण import sys try: 7/0 except ArithmeticError as e: pri

  1. पायथन में IOError अपवाद कैसे पकड़ें?

    IOError अपवाद यह एक त्रुटि है जब कोई इनपुट/आउटपुट ऑपरेशन विफल हो जाता है, जैसे कि प्रिंट स्टेटमेंट या ओपन () फ़ंक्शन जब कोई फ़ाइल खोलने का प्रयास करता है जो मौजूद नहीं है। इसे ऑपरेटिंग सिस्टम से संबंधित त्रुटियों के लिए भी उठाया जाता है। यदि दिए गए कोड को एक कोशिश ब्लॉक में लिखा गया है, तो यह एक

  1. पायथन में KeyError अपवाद कैसे पकड़ें?

    एक KeyError तब उठाया जाता है जब कोई मान किसी डिक्शनरी की कुंजी के रूप में नहीं मिलता है। अपवाद को पकड़ने और उसके प्रकार को खोजने के लिए दिए गए कोड को निम्नानुसार फिर से लिखा गया है। उदाहरण import sys try: s = {'a':5, 'b':7}['c'] except: print (sys.exc_info()) आउटपुट (<typ