You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Crashlytics显示非致命异常是否正常?能否禁用该功能?

Firebase Crashlytics 非致命异常记录相关问题解答

这是预期行为吗?

是的,这属于Crashlytics的预期功能。Crashlytics不仅会捕获导致应用崩溃的致命异常,还默认会记录非致命异常——也就是你代码中捕获到的、或者抛出后未触发应用崩溃退出的异常。这类记录能帮你提前发现应用中的潜在稳定性问题,不用等到应用崩溃才察觉。

如何禁用非致命异常记录?

Android平台

在初始化Crashlytics之前,通过CrashlyticsCore配置关闭非致命异常收集:

// Kotlin示例
val core = CrashlyticsCore.Builder()
    .setCrashlyticsCollectionEnabled(true) // 如需保留崩溃捕获可设为true
    .setEnableNonFatalExceptionCollection(false) // 关闭非致命异常收集
    .build()
FirebaseCrashlytics.getInstance().setCrashlyticsCore(core)
// Java示例
CrashlyticsCore core = new CrashlyticsCore.Builder()
    .setCrashlyticsCollectionEnabled(true)
    .setEnableNonFatalExceptionCollection(false)
    .build();
FirebaseCrashlytics.getInstance().setCrashlyticsCore(core);

iOS平台

在AppDelegate的初始化方法中,关闭非致命异常记录:

// Swift示例
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true) // 如需保留崩溃捕获可设为true
Crashlytics.crashlytics().recordNonFatalErrors = false // 关闭非致命异常收集
// Objective-C示例
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
[[FIRCrashlytics crashlytics] setRecordNonFatalErrors:NO];

注意:如果你的代码中存在手动调用recordException方法主动上报的非致命异常,即使关闭了默认收集,这类主动上报的记录仍会出现在控制台。若要完全停止,需删除代码中手动调用recordException的逻辑。

内容的提问来源于stack exchange,提问作者Droidme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 14:34:56