Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 메모리 부족 예외를 캡처하는 방법은 무엇입니까?

<시간/>

System.OutOfMemoryException은 CLR이 필요한 충분한 메모리 할당에 실패할 때 발생합니다.

System.OutOfMemoryException은 System.SystemException 클래스에서 상속됩니다.

문자열 설정 -

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

이제 초기 값의 길이인 할당된 Capacity로 초기화해야 합니다. -

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