我将在与服务器同步期间收到的错误发送给 Crashlytics。这些错误主要包含有关不同数据冲突的信息。所有错误都被包装到一个异常类中,该异常类具有类似 apiErrorCode
的字段。我无法为每个错误创建单独的异常类,因为它们有很多。因此,我使用 Crashlytics.logException()
发送的所有此类异常都被分组到仪表板上的一份报告中。所以我必须去“所有 session ”,在那里一个一个地排查错误,这很不方便。此外,我无法关闭和锁定一些我不想在报告中看到的错误类型(比如一些预期的服务器错误)。是否可以手动设置 Crashlytics 分组策略(在我的例子中基于 apiErrorCode
)?
最佳答案
如果您有来自一个堆栈跟踪的不同类型的异常,您可以通过在顶部添加一个自定义元素来更改堆栈跟踪:
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);
}
}
关于android - 如何使用自定义属性拆分/取消分组 Crashlytics 非致命异常报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46441503/