Rumah >pembangunan bahagian belakang >Tutorial C#.Net >Bagaimana untuk menangkap pengecualian memori dalam C#?

Bagaimana untuk menangkap pengecualian memori dalam C#?

PHPz
PHPzke hadapan
2023-09-05 16:09:071134semak imbas

Bagaimana untuk menangkap pengecualian memori dalam C#?

System.OutOfMemoryException berlaku apabila CLR tidak dapat memperuntukkan memori yang mencukupi yang diperlukan.

System.OutOfMemoryException mewarisi daripada kelas System.SystemException.

Tetapkan rentetan -

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

Sekarang anda perlu memulakan dengan kapasiti yang diperuntukkan, iaitu panjang nilai awal -

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

Sekarang jika anda cuba memasukkan nilai tambahan, pengecualian akan berlaku.

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

Pengecualian berikut berlaku -

System.OutOfMemoryException: Out of memory

Untuk menangkap ralat, cuba kod berikut -

Contoh

Demonstrasi Langsung

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);
         }
      }
   }
}

Di atas mengendalikan OutOfMemoryException

dan menjana ralat berikut -

Atas ialah kandungan terperinci Bagaimana untuk menangkap pengecualian memori dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam