为什么Android不打印堆栈跟踪?

时间:2010-07-06 19:48:56

标签: java android

即使是显式编写e.printStackTrace(),它也不会打印到控制台,为什么?

4 个答案:

答案 0 :(得分:7)

在DDMS透视图中检出Logcat它应该不在控制台选项卡中。

或使用ddms命令工具读取logcat。

alt text

答案 1 :(得分:2)

printStackTrace()无法打印到控制台,它会打印到标准错误流。如果要打印到屏幕,请将显示文字设置为e.getMessage()e.getStackTrace()。 (虽然我建议学习使用logcat进行调试。)

答案 2 :(得分:1)

使用Log.X(),其中X是您想要的错误控制台类型(Log.e,Log.v,Log.d等)

答案 3 :(得分:1)

您无法在Android上打印到控制台。您必须使用Android Log类。当我有一个例外,我想打印它我正在使用:

for (StackTraceElement element : exception.getStackTrace())
    Log.e("my_tag", element.toString());

或者你可以尝试

String stackTrace = Log.getStackTraceString(throwable);

之后,您可以将其打印到Android Log。