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

सी # में मेमोरी अपवाद से कैसे कैप्चर करें?

System.OutOfMemoryException तब होती है जब CLR आवश्यक पर्याप्त मेमोरी आवंटित करने में विफल हो जाता है।

System.OutOfMemoryException को System.SystemException वर्ग से इनहेरिट किया गया है।

तार सेट करें -

string StudentName = "Tom";
string StudentSubject = "Maths";

अब आपको आवंटित क्षमता के साथ इनिशियलाइज़ करने की आवश्यकता है जो कि प्रारंभिक मान की लंबाई है -

StringBuilder sBuilder = new StringBuilder(StudentName.Length, StudentName.Length);

अब, यदि आप अतिरिक्त मान डालने का प्रयास करते हैं, तो अपवाद होता है।

sBuilder.Insert(value: StudentSubject, index: StudentName.Length - 1, count: 1);

निम्न अपवाद होता है -

System.OutOfMemoryException: Out of memory

त्रुटि को पकड़ने के लिए, निम्न कोड आज़माएं -

उदाहरण

using System;
using System.Text;

namespace Demo {
   class Program {
      static void Main(string[] args) {
         try {
            string StudentName = "Tom";
            string StudentSubject = "Maths";
            StringBuilder sBuilder = new StringBuilder(StudentName.Length, StudentName.Length);
            // Append initial value
            sBuilder.Append(StudentName);
            sBuilder.Insert(value: StudentSubject, index: StudentName.Length - 1, count: 1);
         } catch (System.OutOfMemoryException e) {
               Console.WriteLine("Error:");
               Console.WriteLine(e);
         }
      }
   }
}

उपरोक्त OutOfMemoryException को हैंडल करता है और निम्न त्रुटि उत्पन्न करता है -

आउटपुट

Error:
System.OutOfMemoryException: Out of memory

  1. विंडोज 10 में सिस्टम रिस्टोर ग्रेयड आउट समस्या को कैसे हल करें?

    सिस्टम रिस्टोर एक इनबिल्ट विंडोज फीचर है जो पहले से सेव किए गए रिस्टोर पॉइंट्स से सिस्टम सेटिंग्स को रिस्टोर करने की अनुमति देता है। इस सुविधा ने हमें कई बार बचाया है, लेकिन विंडोज 10 में अपडेट करने के बाद हममें से कुछ को सिस्टम रिस्टोर यानी सिस्टम रिस्टोर विकल्प के साथ समस्या का सामना करना पड़ता है

  1. Kmode अपवाद त्रुटि क्या है और मैं इसे Windows 10 पर कैसे ठीक करूं

    बग जाँच मान 0x0000001E के साथ Kmode_Exception_Not_Handled त्रुटि इंगित करती है कि कर्नेल-मोड प्रोग्राम एक अपवाद उत्पन्न करता है जो त्रुटि हैंडलर से मेल नहीं खाता। त्रुटि का यांत्रिकी श्रमसाध्य है। आम शब्दों में यह तब होता है, जब ऐप या प्रोग्राम एक-दूसरे की मेमोरी को ओवरराइट कर देते हैं, जिसके परिणाम

  1. विंडोज 11 पर फ़ोल्डर एक्सेस अस्वीकृत त्रुटि को कैसे ठीक करें

    विंडोज 11 पर फोल्डर एक्सेस अस्वीकृत त्रुटि के साथ अटक गया? फ़ोल्डर की सामग्री या फ़ाइल तक पहुँचने में असमर्थ और स्क्रीन पर एक्सेस अस्वीकृत अलर्ट देख रहा है? इस पोस्ट में, हमने कुछ मुट्ठी भर समाधानों को सूचीबद्ध किया है जिनका उपयोग आप विंडोज 11 पर फोल्डर एक्सेस अस्वीकृत त्रुटि को ठीक करने के लिए कर स