何时以及为什么我应该明确地抛出异常

rem*_*rem 5 c# exception

我只是想让我对异常机制的理解更加清晰.
如果在执行应用程序时出现问题,运行时会自动抛出相应的异常.如果是这样,为什么我有时应该进行一些检查并明确抛出一个特定的异常?
如何识别这种情况(当代码中明确抛出异常时)?

我没有故意在这里提出任何例子,因为我想对抛出异常方法有一个大致的了解.

Bro*_*ass 6

我认为一般方法应该是快速失败 - 您希望尽快识别和处理无效的程序条件,这不仅意味着在程序逻辑中需要特定输入,而且只要您"接收"此输入(这可能是更早的时间和/或代码行).

对于ie公共方法,这意味着首先验证输入,如果输入违反了方法所期望的,则抛出异常.