Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过命令行从java打印完整的错误消息_Java - Fatal编程技术网

通过命令行从java打印完整的错误消息

通过命令行从java打印完整的错误消息,java,Java,我目前运行的应用程序只能通过使用java的程序/命令行运行。当我得到错误打印输出时,如何查看完整打印输出 i、 e.我如何看待“13更多” 此堆栈跟踪包含您需要知道的所有信息,与控制台输出无关。它只是跳过重复的行 更新 假设您的方法调用a()调用b()和b()捕获从其他方法引发的异常foobar(),将其包装在另一个异常中并重新调用。以下是堆栈跟踪的外观: void b() { try { foobar(); } catch(Exception e) { //

我目前运行的应用程序只能通过使用java的程序/命令行运行。当我得到错误打印输出时,如何查看完整打印输出

i、 e.我如何看待“13更多”


此堆栈跟踪包含您需要知道的所有信息,与控制台输出无关。它只是跳过重复的行


更新

假设您的方法调用
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
是反射通常使用的异常。

有关在您的案例中生成更多
13的代码,请参阅


它统计此异常与以前打印的异常具有共同点的堆栈跟踪元素。因此,您知道必须将上面异常的最后13行(在本例中表示全部)添加到截断的跟踪中。

如果无法输出到文件,这不是一个操作系统问题,而是一个Java问题吗?请参见“引起原因”部分。这是反射调用中引发的基本异常。它在
InvocationTargetException
中返回为
cause
,所以“13个以上”只是以前打印的内容的重复?
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();
  } 
}