No meu projeto flutter, estou usando apenas o firebase assim:
//main.dart
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;
PlatformDispatcher.instance.onError = (error, stack) {
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
return true;
};
runApp(MyApp());
}
Parece que o Firebase só pode detectar travamentos ao usar like
final result = await someThrowErrorFunctions;
Mas se eu lidar com alguma função como:
try {
final result = await someThrowErrorFunctions;
} catch (e) {
print('error:$e');
}
O aplicativo não irá travar, mas não consigo detectar o erro no Firebase e não saberei que há um erro, certo?
E se eu não quiser travar e ao mesmo tempo conseguir detectar o erro com o firebase, é possível? E qual é o uso correto?
Qualquer ajuda será apreciada, obrigado ~
Sugiro revisar a documentação sobre como relatar exceções capturadas , que é o que você está tentando fazer aqui. Vai parecer algo assim: