Untuk melempar pengecualian, saya biasanya menggunakan kelas pengecualian bawaan, misalnya ArgumentNullException
dan NotSupportedException
. Namun, terkadang saya perlu menggunakan pengecualian khusus dan dalam kasus itu saya menulis:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
dan seterusnya. Lalu saya melempar dan menangkap ini dalam kode saya. Tapi hari ini saya menemukan ApplicationException
kelas - haruskah saya menggunakannya? Untuk apa ini?
Tampaknya tidak efisien untuk memiliki banyak kelas Pengecualian yang identik secara efektif identik dengan nama yang berbeda (saya biasanya tidak memerlukan fungsionalitas individu). Tapi saya tidak suka ide menangkap generik ApplicationException
dan harus menggunakan kode tambahan untuk menentukan apa kesalahannya.
Di mana harus ApplicationException
cocok dengan kode saya?