Rzucać wyjątki, zazwyczaj użyć wbudowanych klas wyjątków, np ArgumentNullException
a NotSupportedException
. Czasami jednak potrzebuję użyć niestandardowego wyjątku iw takim przypadku piszę:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
i tak dalej. Następnie wrzucam i łapię je w moim kodzie. Ale dzisiaj natknąłem się naApplicationException
klasę - czy powinienem zamiast tego używać? Do czego to służy?
Wydaje się nieefektywne, aby mieć wiele skutecznie identycznych klas wyjątków o różnych nazwach (zwykle nie potrzebuję żadnej indywidualnej funkcjonalności). Ale nie podoba mi się pomysł łapania leku generycznegoApplicationException
i konieczności użycia dodatkowego kodu, aby określić, jaki był błąd.
Gdzie powinien ApplicationException
pasować mój kod?