gpt4 book ai didi

java - 在 Glassfish 中捕获 MySQL 异常

转载 作者:行者123 更新时间:2023-11-29 14:47:02 25 4
gpt4 key购买 nike

到目前为止,我已经避免了捕获特定 MySQL 异常的问题,如 MySQLIntegrityConstraintViolationException 等。但现在我需要它来告诉用户他违反了约束,应该选择不同的字符串键。我尝试使用 instanceof 运算符捕获特定异常,因为 Glassfish 将其包装在 EJBException 中。但到目前为止我还没有做到这一点。

是否有人拥有正确的代码/模式来捕获应用程序容器中的特定 SQL 异常(如 Glassfish)?

最诚挚的问候克里斯。

PS。我正在使用 Glassfish 3.1 和 JPA 2.0

最佳答案

对于大多数数据库访问框架、库或 API,不可能预测所有会导致失败的场景。

在 JPA 中,API 中存在一些异常,这些异常映射到遇到的常见故障。大多数异常都是 PersistenceException 的实例类,或者它的子类,例如 EntityExistsException , EntityNotFoundException , NonUniqueResultException等等。您可以捕获这些特定的异常并发出适当的错误消息。

您还可以使用Bean Validation API ,在持久化 JPA 实体之前验证它们的状态,以便您可以减少捕获异常的可能性,这些异常需要不同的错误消息以及最终用户采取的纠正措施。

关于java - 在 Glassfish 中捕获 MySQL 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6747784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com