要抛出异常,我通常使用内置的异常类,例如ArgumentNullExceptionNotSupportedException。但是,有时我需要使用自定义异常,在这种情况下,我会写:

class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }

等等。然后,我将它们抛出并捕获到我的代码中。但是今天我遇到了ApplicationException类-我应该改用它吗?这是为了什么?

拥有许多名称完全不同的有效相同的Exception类似乎没有效率(我通常不需要任何单独的功能)。但是我不喜欢捕获通用的ApplicationException,而不得不使用额外的代码来确定错误的想法。
ApplicationException应该在哪里适合我的代码?

最佳答案

根据msdn中的remarks:

Exception派生它们。而且,只要有必要,我也不会为您的案例创建新的异常(exception)情况。如果遇到框架中已经存在异常的情况,请使用该异常,否则,请自行滚动。

10-06 14:49