有没有办法在Java ME中将堆栈跟踪打印到屏幕?

时间:2008-12-02 16:18:10

标签: exception exception-handling java-me mobile

我的代码如下所示,它可以很好地显示消息,但无法找到任何方法来保持堆栈跟踪。

try {
    throw new RuntimeException("This is bad stuff!");
} catch (Exception e ) {
    mainForm.append("Exception: " + e.getMessage());
}

调用e.printStackTrace()将它发送到我找不到的地方。

4 个答案:

答案 0 :(得分:4)

看到这篇文章: http://lwuit.blogspot.com/2008/12/redirecting-output-on-s60-devices.html

太糟糕了没有System.setErr(PrintWriter)或Thread.getStackTrace()

我认为这个问题不存在(通用)解决方案

答案 1 :(得分:1)

不,你不能。堆栈跟踪始终打印到System.err,CLDC中无法将System.err重定向到其他位置。

答案 2 :(得分:1)

即使在CLDC 1.1中,这也不存在。希望Sun在未来版本中包含错误重定向和流出。记录/调试非常重要。

答案 3 :(得分:0)

我已经创建了一个工具,可用于在CLDC中记录正确的堆栈跟踪。请查看http://jarrut.sourceforge.net。它仍然是非常新的,它可能有一些粗糙的边缘,但它适用于我,我无法想象没有它开发MIDlet。最好的方法是将它与microlog结合使用。