我有以下代码:
try
{
glogger.debug("Calling getReportData (BudgetInBriefDAO)");
lHashData = objBudgetInBriefDAO.getReportData(lStrFinYrId, lStrLangId, lStrContextPath, lStrFinYrDesc);
glogger.debug("Returning from getReportData (BudgetInBriefDAO)");
}
// catch( InvocationTargetException ie )
// {
// glogger.error("InvocationTargetException !!!");
// glogger.error("InvocationTargetException in calling BudgetInBriefBean -> getReportData");
// glogger.error("Target Exception is : " + ie.getTargetException());
// glogger.error("Cause is : " + ie.getCause());
// ie.printStackTrace();
// }
catch( Exception e )
{
glogger.error("Exception !!!");
glogger.error( "Error in calling BudgetInBriefBean -> getReportData. Error is :- " + e );
e.printStackTrace();
}
我收到以下错误:
FATAL : AJPRequestHandler-ApplicationServerThread-25 com.tcs.sgv.common.util.GenericEJBObject - InvocationTargetException :java.lang.reflect.InvocationTargetException - 14 Feb 2012 12:36:00,155 - 5210474 milliseconds
它没有打印堆栈跟踪。我如何知道异常的原因?
我有未注释的代码,但仍然没有打印堆栈跟踪。
其中,我的 BudgetInBriefDAO 实现 (BudgetInBriefDAOImpl) 包含 4 个类。
BudgetInBriefDAOImpl & 3 other Thread classes
我已经成功反编译了所有类文件,没有损坏。
请帮助找出异常的实际原因。
提前致谢。
最佳答案
尝试反编译com.tcs.sgv.common.util.GenericEJBObject
;也许它会吞掉异常。
或者,在 Debug模式下启动应用,并在 InitationTargetException
的所有构造函数中设置断点。
注意:这可能是不切实际的,因为在您到达要调试的位置之前,其他代码就会导致大量此类异常。如果发生这种情况,请禁用这些断点,在第一个 glogger.debug
处添加一个新断点,并在遇到该断点时再次启用异常的断点。
当调试器中有堆栈跟踪时,请在执行其他操作之前在引发异常的位置设置断点。
最后一个选项:在 glogger.fatal
(或记录异常的位置)中设置断点。
关于java - 如何捕获 Incallingtarget 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9273033/