【问题标题】:How to determine which SQLException has been returned / where's the error codes list?如何确定返回了哪个 SQLException/错误代码列表在哪里?
【发布时间】:2011-10-01 09:40:55
【问题描述】:

我正在使用 com.mysql.jdbc.Driver(如果它意味着什么)。 我希望能够捕获并正确处理我从 MySQL 收到的异常。我想知道事务是否失败,是否已经有一个主键具有我要插入的值,以及所有其他错误。

我想做类似的事情

try
{
    ... // Code
}
catch(SQLException e)
{
    switch(e.getErrorCode())
    {
        case...
        case...
        default...
    }
}

我试过找,但没有找到,只有一些谈论 C# / .net 的条目

我想要这个的主要原因是看看我的一个事务是否因为我设置的隔离级别而回滚,在这种情况下,我将不得不重试它。当然,还有其他一些问题。

非常感谢您的帮助!

【问题讨论】:

    标签: java mysql sql jdbc sqlexception


    【解决方案1】:

    驱动程序信息是必需的,因为返回的错误代码是特定于供应商的。请查看以下mysql的错误代码,可能会有所帮助http://www.briandunning.com/error-codes/?source=MySQL

    【讨论】:

    • 感谢您的信息。如前所述,我在 MySQL 上使用 com.mysql.jdbc.Driver(我认为是 5.1 版),连接是 JDBC 连接器 3.1.14
    【解决方案2】:

    MySQL 错误代码都记录在手册中(惊喜!)

    http://dev.mysql.com/doc/refman/5.1/en/error-handling.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 2011-06-12
      • 2017-06-14
      • 1970-01-01
      • 2013-04-04
      相关资源
      最近更新 更多