【问题标题】:How to log a sql exception?如何记录sql异常?
【发布时间】:2015-11-02 18:08:34
【问题描述】:

我正在尝试以以下方式记录堆栈跟踪,它工作正常,但我想弄清楚是否有任何其他有效的方法可以记录异常?

 catch (SQLException e) {
                LOG.error(
                          "Sql Exception: "  
                                   + e.getStackTrace()[1].getClassName() + "." 
                                   + e.getStackTrace()[1].getMethodName(), e);
                throw e;

【问题讨论】:

    标签: java jdbc try-catch-finally


    【解决方案1】:

    是的:

    LOG.error("Sql Exception", e);
    

    注意第二个参数e。当 Exception/Throwable 像这样传入时,记录器会包含堆栈跟踪。无需手动(且笨拙地)使用e.getStackTrace()

    【讨论】:

      【解决方案2】:

      您无需在代码中使用+ e.getStackTrace()[1].getClassName() + "." + e.getStackTrace()[1].getMethodName(),此信息由记录器本身使用异常堆栈跟踪生成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-28
        • 2015-04-13
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多