在编写数据库代码时,我通常通过在更新或插入之前检查记录来防止抛出 ConstraintViolationException。
我不会等待 ContraintViolationException 发生然后处理它。这是因为数据库管理员曾经告诉我这是一种不好的做法。
但我看到许多开发人员处理 ContraintViolationException 和外键异常,而不是使用 sql 代码手动检查违规。
问题是?哪个更好?我应该在出现此类异常时处理它们,还是应该在插入/更新操作之前查询对象并防止抛出这些错误?