尝试将SQLGrammarException实现到Java方法中

时间:2016-07-18 14:11:49

标签: java hibernate

我试图在我的方法中实现SQLGrammarException。 此方法显示列错误,但我需要显示该错误列的过程。

    public static PersistenceMicrodataException dealHibernateException(Throwable e) {
    e.printStackTrace();
    Throwable t = ExceptionUtil.getCause(e);
    return new PersistenceMicrodataException(t.getMessage(), t);
 }

我试试这个:

public static PersistenceMicrodataException dealHibernateException(Throwable e) {
    try {
        Throwable t = ExceptionUtil.getCause(e);
    } catch (Exception e) {
        System.out.println(t.getMessage());
        System.out.println(((SQLGrammarException) t).getSQLState());
        System.out.println(((SQLGrammarException) t).getErrorCode());
        System.out.println(t.getCause());
    }
    return new PersistenceMicrodataException(e.getMessage(), e);
}

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案!

public static PersistenceMicrodataException dealHibernateException(Throwable e) {
    String concatError = ((SQLGrammarException) e).getSQL() + ((SQLGrammarException) e).getClass() + ((SQLGrammarException) e).getCause();
    while (e != null) {
        java.lang.System.out.println(concatError);
        break;
    }           
    Throwable t = ExceptionUtil.getCause(e);
    return new PersistenceMicrodataException(concatError,t);
}