异常仅用于程序员故障。到目前为止一切都很好,但这是什么:
我的一个类是一个简单的XML解析器,它解析给定的xml(或部分xml)。所有方法都专门针对一个功能案例。可能是,找到类xy
的唯一xml元素。
即使如果这个案例没有意义,如果有更少或更多xy
- 元素,我测试,如果确实只有一个。{我的应用程序也无法处理每个其他数量的元素(但被调用的api将来可能会更改)。
这是一种情况,异常是处理这种情况的首选方法吗?
答案 0 :(得分:1)
无论您使用解析器是什么,如果处理具有多个xy
元素的xml是可能的(因为生产者可以生成具有更多元素的xml),我不会将其视为异常,我最终会返回一个错误代码。
相反,如果按照规范,xml生成器总是生成一个只有一个xy元素的xml,那么我会认为这是一个例外情况,因此我会引发异常。
比较:如果我必须处理苹果,并且输入可以是任何水果,那么每次我收到不是苹果的东西时我都不会抛出异常。如果我必须处理苹果,输入可以只是苹果,那么如果我找到杏子,我会提出异常。