我发送到与服务器同步时遇到的Crashlytics错误。这些错误主要包含有关不同数据冲突的信息。所有错误都包含在一个异常类中,该类具有apiErrorCode
之类的字段。我不能为每个错误创建单独的异常类,因为它们有dosens。因此,我使用Crashlytics.logException()
发送的所有此类异常都会在仪表板上分组到一个报告中。所以我必须去“所有会议”并在那里逐一调查错误,这是不方便的。此外,我无法关闭并锁定一些我不希望在报告中看到的错误类型(如某些预期的服务器错误)。这是手动设置Crashlytics分组策略的方法(在我的情况下基于apiErrorCode
)吗?
答案 0 :(得分:2)
如果您来自一个堆栈跟踪的异常类型不同,则可以通过在顶部添加一个自定义元素来更改堆栈跟踪:
public class CustomException extends Exception {
public CustomException(String message, int lineNumber) {
super(message);
StackTraceElement[] stackTrace = getStackTrace();
StackTraceElement[] newStackTrace = new StackTraceElement[stackTrace.length + 1];
System.arraycopy(stackTrace, 0, newStackTrace, 1, stackTrace.length);
newStackTrace[0] = new StackTraceElement("className", "methodName", "fileName", lineNumber);
setStackTrace(newStackTrace);
}
}
答案 1 :(得分:1)
Mike来自Fabric。没有办法覆盖我们对记录的错误所做的分组。我建议特定于异常类型和消息而不是使用单个异常类,尽管这会增加代码复杂性。