我在这里读到,e.printStackTrace()
不应该用于捕获Android上的异常。
在另一个来源中,我读到应该使用Log.e()
而不是e.printStackTrace()
:
... catch (Exception e) {
Log.e(TAG, "Foo did not work", e);
}
在发布版本中,我是否需要手动删除这些调用?在Android中跟踪异常日志的最佳实践是什么?
我在这里读到,e.printStackTrace()
不应该用于捕获Android上的异常。
在另一个来源中,我读到应该使用Log.e()
而不是e.printStackTrace()
:
... catch (Exception e) {
Log.e(TAG, "Foo did not work", e);
}
在发布版本中,我是否需要手动删除这些调用?在Android中跟踪异常日志的最佳实践是什么?
// Using StandardExceptionParser to get an Exception description.
try {
// Request some scores from the network.
ArrayList<Integer> highScores = getHighScoresFromCloud();
} catch (IOException e) {
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
t.send(new HitBuilders.ExceptionBuilder()
.setDescription(
new StandardExceptionParser(this, null)
.getDescription(Thread.currentThread().getName(), e))
.setFatal(false)
.build()
);
... // Display alert to user that high scores are currently unavailable.
}
Thread.setDefaultUncaughtExceptionHandler(new MyReportHelper());