NullReferenceException dalam program c#

eksepsi ini dilemparkan ketika terdapat percobaan untuk menggunakan refrensi null untuk menunjukan sebuah objek, misalnya jika anda mencoba untuk memanggil sebuah metode menggunakna referensi null. referensi null adalah sebuah referensi yang tidak menunjuk kesembarang objek.salah satu cara untuk menciptakan sebuah referensi null adalah dengan menugaskan nilai null kepada sebuah referensi menggunakan kata kunci null.


contoh :
//menggunakan null
using system;
class x
{
   int x;
   public x(int a)
   {
      x = a;
   }
   public int tambah(x o)
   {
      return x + o.x;
   }
}
//demostrasi null
class demonre{
    static void main() {
        x p = new x(10);
        x q = null; //q ditugasi null
        int nil;
        try
        {
           nil = p.Tambah(q); // ini akan menyebabkan eksepsi
        }
        catch (NullReferenceException)
        {
           console.writeline(“NullReferenceException!”);
           console.writeline(“memperbaiki…\n”);
           //sekarang, diperbaiki.
           q = new x(9);
           nil = p.tambah(q);
       }
        console.writeline(“nil adalah{0}”, nil);
    }
}

output :
NullReferenceException!
memperbaiki…

nil adalah 19

penjelasan :
program menciptakan sebuah kelas, bernama x yang mendefinisikan sebuah anggota x, dan metode tambah(), yang menjumlahkan objek pemanggil x dan x yang dilewatkan sebagai parameter. didalam main() dua objek x diciptakan. pertama p diinisialisasi. kedua q tidak diinisialisasi, tetpai ditugasi null secara eksplisit, kemudian p.tambah() dipanggil dengan q sebagai argumen. karena q tidak menunjuk ke objek apa pun, NulReferenceexception dibangkitkan ketika percobaan untuk mendapatkan nilai dari q.x dilakukan.

Leave a Reply