[英]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.