我正在尝试将我的数据库和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连接路径。