使用 printStackTrace() 进行 caugt Exceptions 是一个坏主意吗?

2022-08-31 16:18:39

在像这样的Android Exceptions中使用printStackTrace()是一个坏主意吗?

} catch (Exception e) {
    e.printStackTrace();
}

答案 1

我相信这就是你需要的:

catch (Exception e) {
     Log.e(TAG,Log.getStackTraceString(e)); 
}

答案 2

是的,这是一个坏主意。您应该使用专为以下目的而设计的 Android 内置日志类:http://developer.android.com/reference/android/util/Log.html

它为您提供了记录调试消息,警告,错误等的选项。

记录错误:

Log.e(TAG, "message", e)其中,消息可以是引发异常时所尝试的内容的说明

或者只是如果您不希望为上下文提供任何消息Log.e(TAG, e)

然后,您可以在运行代码时单击底部的日志控制台,并使用TAG或日志消息类型作为过滤器轻松搜索它