设想:
对于需要根据用户 ID 进行注册的网站,用户 ID 必须是唯一的。假设用户尝试使用“foo”用户 ID 注册,该用户 ID 已经存在(带有其他必填字段)。现在,不使用受检异常(数据库 API 将抛出SQLException
重复插入),我想知道未受检异常的拥护者如何处理这种情况并告知用户已经选择了 id?
假设这个网站是在 Struts 上的(不不,我不是在做一个项目,只是我更了解它)。用户将填写的信息提交给调用 DAO 插入新记录的 Struts Action。因此,最终,DAO 将发出 INSERT 语句,该语句将失败。因此,如果 Action(调用 DAO)没有显式处理这种情况(DAO 方法可能只是声明它抛出SQLException
或方法可能捕获SQLException
并抛出一个业务检查异常,如扩展 Exception 的 DuplicateUserIDExceptoion),如何处理未经检查的异常?
底线 - 我读了很多文章说 Java 不需要检查异常,所以我希望这个场景能帮助我更好地理解它。请不要指向文章,因为我已经阅读了很多很多,我真的很困惑。您可以帮助我的最好方法是为上述情况提供答案。
注意:我确实理解任何可恢复的异常情况都必须由已检查的异常(我一直在我的项目中实现)处理,但是,我真的对仅支持未检查异常的人感到困惑。你们如何处理上述情况?
提前致谢。