查看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
View Code

先看错误是哪个类型的(这个要多写多看),和第一句的错误描述。这样对错误有大概的了解(第一句一般是总的,告诉你哪里错了,错误就在caused by后面的语句提示里面,或者是自己写的类里面)。

然后从上往下找找到自己写的类这对定位错误和理解错误有很大的帮助(异常信息是从上往下抛的,因为下面是调用上面的方法)。
再不懂就一步一步debug过去看程序是怎么走的。

首先排除报错位置在JDK中的那些类,先找到出错在自己类的位置,看多少行,然后断点调试,之所以会报很多错误,其实大部分错误都是自己写的类没有遵循JDK提供的类的规则或者出现异常,换句话说都是自己的类错误,找到自己的类了,然后看看什么错误,为什么会出现这个错误,之所以会把JDK错误也提供出来,就是让你比较分析的。

有的时候会是深层bug,比如A调用了B的类,然后B更新了而A不知道,结果A的程序报了错,这时只能仔细找原因了。。。

你可能感兴趣的:(java)