Um Ausnahmen auszulösen, verwende ich normalerweise integrierte Ausnahmeklassen, z . B. ArgumentNullException
und NotSupportedException
. Manchmal muss ich jedoch eine benutzerdefinierte Ausnahme verwenden und in diesem Fall schreibe ich:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
und so weiter. Dann werfe ich und fange diese in meinem Code. Aber heute bin ich auf die ApplicationException
Klasse gestoßen - sollte ich das stattdessen verwenden? Wofür ist das?
Es scheint ineffizient zu sein, viele effektiv identische Ausnahmeklassen mit unterschiedlichen Namen zu haben (normalerweise benötige ich keine individuellen Funktionen). Aber ich mag die Idee nicht, ein Generikum zu fangen ApplicationException
und zusätzlichen Code verwenden zu müssen, um den Fehler zu bestimmen.
Wo sollte ApplicationException
mein Code passen?