Untuk melempar pengecualian, saya biasanya menggunakan kelas pengecualian bawaan, misalnya ArgumentNullExceptiondan 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 ApplicationExceptionkelas - 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 ApplicationExceptiondan harus menggunakan kode tambahan untuk menentukan apa kesalahannya.
Di mana harus ApplicationExceptioncocok dengan kode saya?