【发布时间】:2016-09-19 07:35:46
【问题描述】:
我有一个实用方法来计时和记录整个项目中的各种查询。
问题是,在查看 crashlytics 时,现在所有不相关的崩溃都合并为一个崩溃实例。
我可以捕获实用方法上的所有异常,并在从堆栈中删除该方法后抛出它们吗?
环境是Android(Java)
更新:
根据@Dhananjay 在下面的回答,这是我的代码:
public static Cursor get(...) {
try {
// my utility code
} catch (RuntimeException e) {
throw cleanException(e);
}
}
private static RuntimeException cleanException(RuntimeException e) {
try {
StackTraceElement[] stackTrace = e.getStackTrace();
StackTraceElement[] subTrace = new StackTraceElement[stackTrace.length - 1];
System.arraycopy(stackTrace, 1, subTrace, 0, subTrace.length);
e.setStackTrace(subTrace);
return e;
} catch (Throwable ignored) {
return e;
}
}
【问题讨论】:
标签: java android try-catch stack-trace crashlytics