尝试在浏览器窗口中打印stack trace
时,我失败了。以下是异常块的示例。
try {
// Add Code Here
} catch(Exception exc) { exc.printStackTrace();}
我使用google app engine
作为我的服务器。堆栈跟踪不打印的原因是什么?
答案 0 :(得分:0)
因为没有Exception
要抓住:
try {
// Add Code Here
}
您只会在Exception
块中打印try
的堆栈跟踪,如下所示:
try {
throw new RuntimeException();
}
答案 1 :(得分:0)
有问题的方法是这样实现的:
public void printStackTrace() {
printStackTrace(System.err);
}
如果您的容器/ IDE /框架重定向流,那么您将不会在预期位置观察它,另请参阅System.setErr(...);
。当然,我希望您检查过您的代码是否真的抛出Exception
(如果是Error
那么它将不会被您的子句捕获。)
答案 2 :(得分:0)
您需要更改默认错误输出流。由于您最有可能编码servlet
,因此可以更改为:
exc.printStackTrace(response.getWriter());
这会将异常跟踪打印到浏览器窗口中。