我目前正在运行一个只能通过使用java的程序命令行运行的应用程序。当我将错误打印出来时,如何查看完整的打印输出?
也就是说,我如何看待"13多“
Exception:
java.lang.reflect.InvocationTargetException
(rethrown as com.comsol.util.exceptions.FlException)
Messages:
Error running java class
- Detail: Error_running_java_class
Stack trace:
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.comsol.util.application.CsBaseApplication.runExternalClassStat(Unknown Source)
at com.comsol.util.application.CsBaseApplication.runExternalClass(Unknown Source)
at com.comsol.util.compile.a$a.a(Unknown Source)
at com.comsol.util.compile.a$a.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Enviornment.makeNextGen(Enviornment.java:269)
at Enviornment.main(Enviornment.java:44)
... 13 more发布于 2011-07-24 09:33:51
此堆栈跟踪包含您需要了解的所有内容,并且与控制台输出无关。它只跳过重复的行。
更新。
假设您的方法调用a()调用b(),并且b()捕获从其他方法foobar()抛出的异常,将其包装在另一个异常中并重新抛出它。下面是堆栈跟踪的外观:
void b() {
try {
foobar();
} catch(Exception e) {
// Stack trace for e:
// foobar()
// b()
// a()
throw new RuntimeException("error",e);
}
}
void a() {
try {
b();
} catch(Exception e) {
// Stack trace for e
// b()
// a()
// Cause:
// foobar()
// b() - repeating line
// a() - repeating line
e.printStackTrace();
}
}因此,打印异常代码只跳过重复的行,因为它们没有携带附加值。在您的问题中,在我的示例中,InvocationTargetException被抛出来代替RuntimeException。InvocationTargetException是一个异常,通常由反射使用。
发布于 2011-07-24 09:55:30
在本例中,生成13 more的代码请参见http://www.docjar.com/html/api/java/lang/Throwable.java.html#671。
它对此异常与以前打印的异常共有的堆栈跟踪元素进行计数。因此,您知道必须将上述异常中的最后13行(在本例中表示全部)添加到截断跟踪中。
https://stackoverflow.com/questions/6804419
复制相似问题