Щоб кинути винятки, я зазвичай використовую вбудовані класи виключень, наприклад, ArgumentNullException
та NotSupportedException
. Однак іноді мені потрібно використовувати спеціальний виняток, і в такому випадку я пишу:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
і так далі. Потім я кидаю і ловлю їх у своєму коді. Але сьогодні я натрапив на ApplicationException
заняття - чи варто використовувати це замість цього? Для чого це?
Це здається неефективним мати безліч ефективно однакових класів винятків з різними іменами (мені зазвичай не потрібні окремі функціональні можливості). Але мені не подобається ідея ловити загальне ApplicationException
та використовувати додатковий код, щоб визначити, у чому помилка.
Де має ApplicationException
відповідати моєму коду?