use*_*692 19 java exception-handling exception
我有一个方法,它将枚举作为参数,并返回一些依赖于该参数的信息.但是,该枚举包含一些不应处理的值,并应引发错误条件.目前该方法抛出IllegalArgumentException,但我希望这是一个检查异常,强制调用者捕获它(并正常返回,记录错误).有什么合适的东西,还是我应该创建自己的Exception子类?
我也对其他模式持开放态度.一个合理的反应是应该处理枚举的所有值,但事实并非如此.当一个新的值被添加到枚举时,我想确保这个方法做正确的事情 - 在这种情况下,警告一个人比使用一些默认的返回值更可取.
谢谢你的建议.
您当然可以创建自己的检查异常(例如 UnhandledEnumType),或者您可以捕获并处理 IllegalArgumentException。只应处理枚举的某些值,这听起来有点可疑。枚举的目的之一是将值绑定到一组特定的值,我希望所有的值都能得到处理。如果您担心添加新值,则应该进行一个测试来测试所有值是否都得到正确处理(通过使用枚举的 value() 方法来确保它们都经过测试)。