查看java报的错误
java报错误时会把异常跟踪栈都打印出来,报一大堆错误:
1 Exception use case name: bizGetSysName 2 com.primeton.tp.core.bizservice.ProcessException 3 at com.primeton.tp.core.bizservice.state.MethodBizState.invoke(MethodBizState.java:84) 4 at com.primeton.tp.core.bizservice.ProcessRunner.implement(ProcessRunner.java:187) 5 at com.primeton.tp.core.bizservice.ProcessCaller.implement_noEJB(ProcessCaller.java:230) 6 at com.primeton.tp.core.bizservice.ProcessCaller.implement(ProcessCaller.java:93) 7 at jsp_servlet._fbtools._page.__hiddensubmit._jspService(__hiddensubmit.java:216) 8 at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) 9 at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225) 10 at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127) 11 at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) 12 at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) 13 at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3214) 14 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 15 at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) 16 at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983) 17 at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890) 18 at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344) 19 at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) 20 at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) 21 Caused by: java.lang.reflect.InvocationTargetException 22 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 23 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 24 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 25 at java.lang.reflect.Method.invoke(Method.java:585) 26 at com.primeton.tp.core.bizservice.state.MethodBizState.invoke(MethodBizState.java:79) 27 ... 17 more 28 Caused by: java.lang.NoClassDefFoundError: com/starit/gejie/dao/SysNameDao 29 at com.starit.gejie.Util.Trans.BL_getSysNamesByType(Trans.java:220) 30 ... 22 more
先看错误是哪个类型的(这个要多写多看),和第一句的错误描述。这样对错误有大概的了解(第一句一般是总的,告诉你哪里错了,错误就在caused by后面的语句提示里面,或者是自己写的类里面)。
然后从上往下找找到自己写的类这对定位错误和理解错误有很大的帮助(异常信息是从上往下抛的,因为下面是调用上面的方法)。
再不懂就一步一步debug过去看程序是怎么走的。
首先排除报错位置在JDK中的那些类,先找到出错在自己类的位置,看多少行,然后断点调试,之所以会报很多错误,其实大部分错误都是自己写的类没有遵循JDK提供的类的规则或者出现异常,换句话说都是自己的类错误,找到自己的类了,然后看看什么错误,为什么会出现这个错误,之所以会把JDK错误也提供出来,就是让你比较分析的。
有的时候会是深层bug,比如A调用了B的类,然后B更新了而A不知道,结果A的程序报了错,这时只能仔细找原因了。。。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。