[英]Why doesn't the stack trace get printed?
尝试在浏览器窗口中打印stack trace
时,我失败了。 以下是异常块的示例。
try {
// Add Code Here
} catch(Exception exc) { exc.printStackTrace();}
我正在使用google app engine
作为服务器。 堆栈跟踪不打印的原因可能是什么?
因为没有Exception
可以捕获:
try {
// Add Code Here
}
您将只打印堆栈跟踪的Exception
是中抛出try
这样的块:
try {
throw new RuntimeException();
}
有问题的方法是这样实现的:
public void printStackTrace() {
printStackTrace(System.err);
}
如果您的容器/ IDE /框架重定向了流,那么您将不会在预期的位置看到它,另请参见System.setErr(...);
。 当然,我希望您已经检查过您的代码是否确实引发了Exception
(如果发生Error
则子句不会捕获该Exception
)。
您将需要更改默认错误输出流。 由于您很可能正在编写servlet
,因此可以更改为:
exc.printStackTrace(response.getWriter());
这会将异常跟踪打印到浏览器窗口中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.