Belajar C# Pemula | Part 10. Exception Handling

Panduan lengkap untuk memahami cara menangani exception dalam bahasa pemrograman C#.

Apa Itu Exception Handling?

Exception handling adalah mekanisme untuk menangani kesalahan atau kondisi yang tidak diharapkan saat program berjalan. Dalam C#, exception digunakan untuk menangani error seperti pembagian oleh nol, akses ke indeks array yang tidak valid, atau kegagalan membaca file.

Blok Try-Catch

Blok try-catch digunakan untuk menangani error yang mungkin terjadi dalam kode.

try {
    int a = 10;
    int b = 0;
    int c = a / b; // Ini akan menyebabkan exception
} catch (DivideByZeroException ex) {
    Console.WriteLine("Terjadi kesalahan: " + ex.Message);
}

Blok Finally

Blok finally digunakan untuk kode yang selalu dieksekusi, baik terjadi exception atau tidak.

try {
    int[] numbers = { 1, 2, 3 };
    Console.WriteLine(numbers[5]); // Index di luar batas
} catch (IndexOutOfRangeException ex) {
    Console.WriteLine("Kesalahan: " + ex.Message);
} finally {
    Console.WriteLine("Blok finally dieksekusi.");
}

Melempar Exception Secara Manual

Kita bisa menggunakan throw untuk melempar exception secara manual.

void CekUsia(int usia) {
    if (usia < 18) {
        throw new ArgumentException("Usia minimal adalah 18 tahun.");
    }
}

try {
    CekUsia(16);
} catch (ArgumentException ex) {
    Console.WriteLine("Kesalahan: " + ex.Message);
}

Exception Handling dengan Multiple Catch

Kita bisa menangani berbagai jenis exception menggunakan beberapa blok catch.

try {
    string input = null;
    Console.WriteLine(input.Length); // NullReferenceException
} catch (NullReferenceException ex) {
    Console.WriteLine("Null reference error: " + ex.Message);
} catch (Exception ex) {
    Console.WriteLine("Terjadi error lain: " + ex.Message);
}

Custom Exception

Kita bisa membuat exception sendiri dengan mewarisi Exception.

class CustomException : Exception {
    public CustomException(string message) : base(message) {}
}

try {
    throw new CustomException("Ini adalah exception kustom.");
} catch (CustomException ex) {
    Console.WriteLine("Kesalahan: " + ex.Message);
}

Kesimpulan

Exception handling di C# sangat penting untuk membuat aplikasi yang lebih stabil dan aman dari error yang tidak terduga. Gunakan try-catch dengan bijak dan hanya di tempat yang benar-benar diperlukan.