我正在尝试将我的数据库和web应用程序从PostgreSQL移动到MySQL,应用程序正在使用play 2.3.0。
我用MySQL开发了这个应用程序,但是我还没有进行错误管理,我需要你的帮助:
原始代码使用PSQLException,如下所示:

import org.postgresql.util.PSQLException

try {
      SQL("DELETE FROM Lab WHERE id = {id}")
        .on("id" -> lab.id)
        .executeUpdate()
      true
    } catch {
      case e: PSQLException
        if e.getMessage.contains("update or delete on table \"lab\" violates foreign key constraint \"conference_organizedby_fkey\" on table \"conference\"") |
           e.getMessage.contains("update or delete on table \"lab\" violates foreign key constraint \"appuser_lab_fkey\" on table \"appuser\"")
        => Logger.warn(e.getServerErrorMessage.getMessage); false
    }

我找不到最适合这种类型错误的MySQL错误处理程序。
你觉得我应该用什么?

最佳答案

只需捕获SQLException,其中PSQLException是一个实现,并坚持其方法-即getMessage()
除非您真的需要PSQLException提供的额外信息,否则最好不要知道异常的实际类,因为这样您就可以无形地将处理程序绑定到JDBC连接路径。

10-06 06:22