请教:怎么学会看java异常报错的信息?

luxiangzhou 2013-02-18 10:06:36
每次运行程序报错,看见一堆的报错信息都会心慌,想请教大家:怎么学会看java异常报错的信息?
比如下面的报错信息
Exception use case name: bizGetSysName
com.primeton.tp.core.bizservice.ProcessException
at com.primeton.tp.core.bizservice.state.MethodBizState.invoke(MethodBizState.java:84)
at com.primeton.tp.core.bizservice.ProcessRunner.implement(ProcessRunner.java:187)
at com.primeton.tp.core.bizservice.ProcessCaller.implement_noEJB(ProcessCaller.java:230)
at com.primeton.tp.core.bizservice.ProcessCaller.implement(ProcessCaller.java:93)
at jsp_servlet._fbtools._page.__hiddensubmit._jspService(__hiddensubmit.java:216)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3214)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.primeton.tp.core.bizservice.state.MethodBizState.invoke(MethodBizState.java:79)
... 17 more
Caused by: java.lang.NoClassDefFoundError: com/starit/gejie/dao/SysNameDao
at com.starit.gejie.Util.Trans.BL_getSysNamesByType(Trans.java:220)
... 22 more
...全文
9472 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
原来缘来 2013-03-02
  • 打赏
  • 举报
回复
2楼的是主要错误信息
「已注销」 2013-03-02
  • 打赏
  • 举报
回复
上楼说得很正确,首先排除报错位置在JDK中的那些类,先找到出错在自己类的位置,看多少行,然后断点调试,之所以会报很多错误,其实大部分错误都是自己写的类没有遵循JDK提供的类的规则或者出现异常,换句话说都是自己的类错误,找到自己的类了,然后看看什么错误,为什么会出现这个错误,之所以会把JDK错误也提供出来,就是让你比较分析的.
student_2008 2013-03-02
  • 打赏
  • 举报
回复
引用 11 楼 ZZZ5512536 的回复:
Caused by: java.lang.NoClassDefFoundError: com/starit/gejie/dao/SysNameDao.. 一般看报错部分的开头还有caused by 部分,找是自己写的类,其他看不懂的就先暂时忽略
+1
ZZZ5512536 2013-02-21
  • 打赏
  • 举报
回复
Caused by: java.lang.NoClassDefFoundError: com/starit/gejie/dao/SysNameDao.. 一般看报错部分的开头还有caused by 部分,找是自己写的类,其他看不懂的就先暂时忽略
luxiangzhou 2013-02-21
  • 打赏
  • 举报
回复
谢谢大家,我现在大概知道怎么看异常错误了:第一句一般是总的,告诉你哪里错了,错误就在caused by后面的语句提示里面,或者是自己写的类里面。异常信息是从上往下抛的,因为下面是调用上面的方法。大概理解这么多,大家来改错啊。
jin521436 2013-02-20
  • 打赏
  • 举报
回复
我的看法2楼差不多,先看错误是哪个类型的(这个要多写多看),和第一句的错误描述。这样对错误有大概的了解,然后从上往下找找到自己写的类这对定位错误和理解错误有很大的帮助。在不懂剧一步一步debug过去看程序是怎么走的,
wnf2009 2013-02-20
  • 打赏
  • 举报
回复
锁定范围,debug
idm2008 2013-02-18
  • 打赏
  • 举报
回复
引用 3 楼 duxingzhe0311 的回复:
楼主所贴出来了,java.lang.NoClassDefFoundError,就是没找到这个类嘛! 看Caused by: java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: com/starit/gejie/dao/SysNameDao at com.starit.gejie.Util.Tr……
楼上正解!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
rockets311 2013-02-18
  • 打赏
  • 举报
回复
楼主所贴出来了,java.lang.NoClassDefFoundError,就是没找到这个类嘛! 看Caused by: java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: com/starit/gejie/dao/SysNameDao at com.starit.gejie.Util.Trans.BL_getSysNamesByType(Trans.java:220) 这些基本就能定位到了吧!
  • 打赏
  • 举报
回复
Exception use case name: bizGetSysName Caused by: java.lang.reflect.InvocationTargetException Caused by: java.lang.NoClassDefFoundError: com/starit/gejie/dao/SysNameDao
rockets311 2013-02-18
  • 打赏
  • 举报
回复
一堆的报错信息中可能很多不是你自己写的类报的错,先看异常名字,大体心里有个数,然后尽量先找到它报的你自己写的类的错误,定位到某一行,就好办了,不过有时候不报你自己写的类的错误,那就麻烦了。
wct357110558 2013-02-18
  • 打赏
  • 举报
回复
看错误。。看到自己写的类, 先慢慢找,, 以后看多了 相同的 就学会了。。。
zhangpeng455547940 2013-02-18
  • 打赏
  • 举报
回复
查源码,打断点,调试去吧
Drxiaoshi 2013-02-18
  • 打赏
  • 举报
回复
从下往上看,可以点击报错信息,具体到你写的哪一行,结合报错信息,分析一下。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧