0

我有一个问题,我不想在发生异常时显示完整的堆栈跟踪,而只显示异常类型。认为

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'null' for key 3
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.Util.getInstance(Util.java:381)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)

在这里,我只想将异常类型和异常原因写入我的日志文件,例如

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'null' for key 3

那么如何实现这一点,我使用的是java,struts2和hibernate3。注意:请不要推荐日志框架,谢谢

4

1 回答 1

1

使用 ex.getMessage()它返回异常的详细消息字符串。

该类Throwable是 Java 语言中所有错误和异常的超类。因此,您将在此处找到有关 Javadoc 的更多详细信息。

http://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html

于 2012-11-26T06:42:31.230 回答