Bagaimana untuk menangkap pengecualian memori dalam C#?

PHPz
Lepaskan: 2023-09-05 16:09:07
ke hadapan
1072 orang telah melayarinya

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";
Salin selepas log masuk

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

StringBuilder sBuilder = new StringBuilder(StudentName.Length, StudentName.Length);
Salin selepas log masuk

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

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

Pengecualian berikut berlaku -

System.OutOfMemoryException: Out of memory
Salin selepas log masuk

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);
         }
      }
   }
}
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan