18-引发异常时要注意的问题
7.5.2 引发异常时要注意的问题
我们已经知道,异常机制的引入是为了处理程序执行时遇到的错误情况或意外行为。引发异常时需要注意以下问题。
(1)优先考虑使用System命名空间中提供的现有异常类型,除非特别需要,即某种错误或意外情况需要的处理方式与现有任何异常类型的处理方式都不相同,才需要自定义异常类型。
(2)尽可能引发最具体的异常类型。例如,如果某方法收到一个 null参数,则该方法应引发 System.ArgumentNullException,而不是引发该异常的基类型 System.ArgumentException。也就是说,如果可能,尽可能引发子异常类型而非父异常类型,因为由父异常类型继承派生而来的子异常类型更加具体,更能准确描述错误和意外的情况。使用最具体的异常类型方便异常处理过程中对异常情况的判断和处理。