场景:所有RuntimeException /未检查异常提倡者,你将如何处理这种情况?
对于需要基于用户标识注册的网站,用户标识必须是唯一的。比方说,用户试图注册'foo'用户标识,该用户标识已存在(以及其他必填字段)。现在,如果没有使用检查的异常(数据库API将抛出重复插入的SQLException
),我想知道未经检查的异常的提倡者如何处理这种情况并向用户暗示该id已被选中?假设这个网站在Struts上(不,不,我不是在一个项目上工作,这只是我对它的理解)。用户将填充的信息提交给调用DAO插入新记录的Struts Action。所以,最终,DAO将发出INSERT语句,这将失败。因此,如果Action(调用DAO)没有明确处理这种情况(DAO方法可能会声明它抛出SQLException
或方法可能捕获SQLException
并抛出一个业务检查异常,如扩展Exception的DuplicateUserIDExceptoion),如何处理未经检查的异常?底线 - 我读了很多文章,指出Java不需要检查异常,所以,这种情况会帮助我更好地理解它,我希望。请不要指向文章,因为我读了很多很多,我真的很困惑。您可以帮助我的最佳方式是为上述情况提供答案。
注意:我明白,任何可恢复的异常情况都必须通过检查异常(我一直在我的项目中实现)来处理,但是,我真的很困惑未经检查的异常只倡导。你们如何处理上述情况?
在此先感谢。
请参阅我的意见以回答JB Nizet ... – user1418717