我编写了这段代码来测试自定义异常如何在dart中工作.
我没有得到所需的输出有人可以解释我如何处理它?
void main()
{
try
{
throwException();
}
on customException
{
print("custom exception is been obtained");
}
}
throwException()
{
throw new customException('This is my first custom exception');
}
Run Code Online (Sandbox Code Playgroud) 我尝试为 Flutter 应用程序的 iOS 部分设置 Firebase Crashlytics。我在控制台中收到以下消息,但在 Firebase 仪表板中没有看到任何内容。
2019-08-23 14:31:33.648772+0530 Runner[87816:826824] flutter:Crashlytics 插件捕获的 Flutter 错误:
2019-08-23 14:31:33.734996+0530 Runner[87816:826824] 颤动:错误报告给 Crashlytics。
1) Pubspec.yaml
添加firebase_crashlytics: ^0.1.0+2添加到依赖项列表
2) Main.dart
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
void main() async {
Crashlytics.instance.enableInDevMode = true;
// Pass all uncaught errors from the framework to Crashlytics.
FlutterError.onError = Crashlytics.instance.recordFlutterError;
runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)
3) 在构建阶段添加运行脚本
脚本 -${PROJECT_DIR}/Fabric.framework/run
输入文件 -$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
4)在dart中单击按钮时将以下内容添加到碰撞测试中。
throw exception ("This is a test crash");
Run Code Online (Sandbox Code Playgroud)
5)我也试过在模拟器上安装应用程序,停止调试,强制崩溃并再次重启。
这是我的日志:
2019-08-23 14:31:29.162211+0530 Runner[87816:826814] - <AppMeasurement>[I-ACS036002] Analytics screen reporting is …Run Code Online (Sandbox Code Playgroud) 我已经集成Firebase Crashlytics到我的应用程序中,并且正在测试 Android 应用程序。我强迫崩溃来检查它:
if (true){
List arr = [];
throw arr[1] =2;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是应用程序不会崩溃。我只是在日志中得到这个,但它不会崩溃,以便 Crashlytics 将堆栈跟踪发送到服务器。
E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: RangeError (index): Invalid value: Valid value range is empty: 1
为什么会发生这种情况以及为什么这不能“正常工作”。
我知道人们不希望他们的应用程序崩溃,但是......我如何知道应用程序在生产过程中是否崩溃?
FirebaseCrashlytics.instance.crash()另一方面,PS 对作品进行测试。应用程序崩溃并发送报告。为什么这样有效?