Program yang tangguh tidak berhenti saat terjadi galat: file tidak ada, input tidak valid, koneksi terputus. Exception adalah mekanisme C# untuk melaporkan dan menangani kegagalan secara terstruktur. Section ini membahas siklus exception dari throw hingga catch, pola-pola penanganan, dan kapan result pattern lebih tepat dipakai.

# Konsep Exception

Pahami apa itu exception, apa yang dilakukan runtime saat exception muncul, dan mengapa exception perlu ditangkap.

Buka →
# Try-Catch

Bungkus kode berpotensi gagal dengan try-catch agar program tetap berjalan saat input atau data tidak valid.

Buka →
# Multiple Catch

Tangani beberapa jenis exception sekaligus dengan beberapa blok catch yang diurutkan dari tipe paling spesifik.

Buka →
# Finally

Gunakan blok finally untuk menjamin kode pembersihan selalu dijalankan, baik try berhasil, gagal, maupun tertangkap di catch.

Buka →
# Throw dan Rethrow

Lempar exception dengan throw untuk melaporkan kegagalan dari method, dan lempar ulang dengan throw; tanpa kehilangan informasi.

Buka →
# Exception Filters

Seleksi kondisi penangkapan exception dengan kata kunci when agar blok catch hanya menangani kegagalan yang memenuhi syarat.

Buka →
# Membuat Custom Exception

Definisikan tipe exception sendiri untuk kegagalan spesifik bisnis, seperti stok tidak cukup, agar penanganan lebih jelas dan aman dideteksi.

Buka →
# Exception InnerException

Bungkus exception tingkat rendah ke dalam exception berkonteks bisnis menggunakan properti InnerException tanpa kehilangan penyebab asalnya.

Buka →
# Exception StackTrace

Baca properti StackTrace untuk menelusuri rantai pemanggilan method dari titik kegagalan hingga titik masuk program.

Buka →
# Exception Best Practices

Terapkan praktik penanganan exception yang disarankan: tangkap tipe spesifik, tulis pesan yang menjelaskan, dan jangan gunakan exception untuk alur normal.

Buka →
# Exception vs Result Pattern

Bandingkan dua cara melaporkan kegagalan: melempar exception atau mengembalikan nilai yang menggambarkan hasil, beserta kapan masing-masing tepat.

Buka →