在Java日志中很多次我会得到类似的东西:
Caused by: java.sql.BatchUpdateException: failed batch
at org.hsqldb.jdbc.jdbcStatement.executeBatch(jdbcStatement.java:1102)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeBatch(jdbcPreparedStatement.java:514)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
... 113 more
Run Code Online (Sandbox Code Playgroud)
有谁知道如何显示完整的堆栈跟踪(即显示其他113行)?
Throwable 的JavaDocs(适用于Java 7)对发生的事情有一个非常详细的解释.
我想读取我捕获的异常的完整堆栈跟踪.
例如:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.ibm.db2.jcc.DB2Driver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.azurian.lce.usuarios.ConnectionManager.getConnection(ConnectionManager.java:65)
at com.azurian.lce.usuarios.db2.UsuarioDAOImpl.autenticar(UsuarioDAOImpl.java:101)
at com.azurian.lce.usuarios.UsuarioServiceImpl.autenticar(UsuarioServiceImpl.java:31)
at com.azurian.lce.web.admin.actions.LoginAction.execute(LoginAction.java:49)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: COM.ibm.db2.jcc.DB2Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 当我运行Junit测试并且它失败时,如果堆栈超长,Intellij总是用"...... x更多"将其剪掉.如何让IntelliJ显示整个堆栈跟踪?
Caused by: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;
at org.hibernate.ejb.util.LogHelper.logPersistenceUnitInfo(LogHelper.java:38)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:526)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:257)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
... 54 more
Process finished with exit code 255
Run Code Online (Sandbox Code Playgroud) 我注意到,每当终端上抛出异常时,我经常会得到一个简短的故障跟踪,例如:
java.lang.NoClassDefFoundError: javafx/application/Application
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 13 more
Exception in thread "main"
Run Code Online (Sandbox Code Playgroud)
我想知道的是如何打印所有的痕迹,包括那些... 13 more.
编辑:这篇文章已被确定为 …
当我使用命令java ExceptionTest运行一些java程序时,有时会省略异常并且看起来像
Exception in thread "main" java.lang.NoClassDefFoundError: aa/bb/DD
at SOMEWHERE(unknown source)
Caused by: java.lang.ClassNotFoundException: aaa.bbb.CC
at SOMEWHER(unknown source)
... 13 more
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想看到另外13个例外.是否有选项可以查看所有异常日志?
我在终端中使用'adb -d logcat'来查看我的应用程序日志文件.最近,我遇到了大量的运行时错误 - 所有这些都是我出于某种原因无法看到的.它只是在'... 30多个'结束时停止:
[08-11 12:27:45.500 8801:0x2261 E/AndroidRuntime]致命异常:main java.lang.IllegalStateException:ArrayAdapter要求资源ID为android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347)中的TextView在android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)的android.widget.AbsListView.obtainView(AbsListView.java:1430)在android.widget上的android.widget.ListView.makeAndAddView(ListView.java:1745). ListView.fillDown(ListView.java:670)位于android.widget.ListView.Loutout(AbslistView)的android.widget.ListView.layoutChild(ListView.java:1598)上的android.widget.ListView.fillFromTop(ListView.java:727) .java:1260)在android.view.View.Loutout(View.java:7175)的android.view.View.View.Loutout(View.java:7175)处于android.view.View.Loutout(View.java:7175)在Android.widget.FrameLayout.onLayout(FrameLayout.java:338)的android.view.Loutout.setChild(Android.wat.L)上的android.view.Loutout.setChildFrame(LinearLayout.java:1254)的android.view.layout(View.java:7175)dget.LinearLayout.layoutVertical(LinearLayout.java:1130)位于android.widget.FrameLayout.onLayout的android.view.Linout.onLayout(LinearLayout.java:1047)android.view.View.layout(View.java:7175) (FrameLayout.java:338)android.view.Viewout.Seout(View.java:7175)在android.view.View.Viewout(View.java)的android.widget.FrameLayout.onLayout(FrameLayout.java:338). 7175)在android.view.Handler.dispatchMessage(Handler.java:99)的android.view.ViewRoot.handleMessage(ViewRoot.java:1859)的android.view.ViewRoot.performTraversals(ViewRoot.java:1140). os.Looper.loop(Looper.java:130)位于java.lang.reflect.Method的java.lang.reflect.Method.invokeNative(Native Method)的android.app.ActivityThread.main(ActivityThread.java:3683).在dalvik的com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)中调用(Method.java:507) .system.NativeStart.main(Native Method)引起:java.lang.ClassCastException:android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:340)的android.widget.FrameLayout ... 30更多
如何查看我在logcat中收到的"... 30多个"问题?