Penjelasan Beserta Contoh Sederhana Exceptions dan Exception Handling C# Asp.Net

Fitur exception handling C # language membantu kita mengatasi situasi tak terduga atau luar biasa yang terjadi saat sebuah program berjalan.
exception handling menggunakan try, catch, dan keyword finally untuk mencoba tindakan yang mungkin tidak berhasil, untuk mengatasi kegagalan saat kita memutuskan bahwa masuk akal untuk melakukannya, dan untuk membersihkan resource sesudahnya.

Exception dapat dihasilkan oleh Common Language Runtime(CLR), oleh .NET Framework atau libraries pihak ketiga, atau dengan code aplikasi. Exception dibuat dengan menggunakan keyword throw. Dalam banyak kasus, Exception mungkin dilemparkan bukan dengan metod yang kode kita panggil secara langsung, namun dengan metod lain di bawah tumpukan panggilan.

Bila ini terjadi, CLR akan melepas tumpukannya, mencari metode dengan blok tangkapan untuk type Exception tertentu, dan akan melakukan blok tangkapan pertama sehingga jika ditemukan. Jika tidak menemukan blok tangkapan yang sesuai di manapun dalam tumpukan panggilan, ini akan menghentikan proses dan menampilkan pesan kepada pengguna.

Dalam contoh ini, sebuah metod tests untuk pembagian dengan nol dan menangkap kesalahan. Tanpa penanganan eksepsi, program ini akan berakhir dengan DivideByZeroException yang tidak tertangani.
class ExceptionTest
{
    static double SafeDivision(double x, double y)
    {
        if (y == 0)
            throw new System.DivideByZeroException();
        return x / y;
    }
    static void Main()
    {
        // Input for test purposes. Change the values to see
        // exception handling behavior.
        double a = 98, b = 0;
        double result = 0;

        try
        {
            result = SafeDivision(a, b);
            Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
        }
        catch (DivideByZeroException e)
        {
            Console.WriteLine("Attempted divide by zero.");
        }
    }
}

  • Tentang Exceptions

Exceptions memiliki sifat berikut:
1. Exceptions adalah type yang semuanya berasal dari System.Exception.
2. Gunakan blok try di sekitar pernyataan yang mungkin throw Exceptions.
3. Setelah Exceptions terjadi di blok try, aliran kontrol melompat ke Exceptions handler terkait pertama yang hadir di manapun dalam tumpukan panggilan. Di C #, keyword tangkapan digunakan untuk mendefinisikan exception handler.
4. Jika tidak ada handler pengecualian untuk pengecualian tertentu, program akan berhenti mengeksekusidengan pesan kesalahan.
5. Jangan menangkap exception kecuali kita dapat mengatasinya dan meninggalkan aplikasi dalam keadaan yang diketahui. Jika kita menangkap System.Exception, rethrow menggunakan keyword catch di akhir blok tangkapan.
6. Jika blok tangkapan menentukan variabel exception, kita dapat menggunakannya untuk mendapatkan lebih banyak informasi tentang type exception yang terjadi.
7. Exception dapat secara eksplisit dihasilkan oleh sebuah program dengan menggunakan keyword throw
8. Objek exception berisi informasi rinci tentang kesalahan, seperti keadaan tumpukan panggilan dan deskripsi teks kesalahan.
9. Code di blok Finally dieksekusi bahkan jika exception dilempar. Gunakan blok finally untuk melepaskansumber daya, misalnya untuk menutup aliran atau file yang dibuka di blok coba.
10. exception terkelola dalam .NET Framework diimplementasikan di atas mekanisme exception
handler terstruktur Win32.
Previous
Next Post »