es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Manejo e informe de errores que se producen dentro del callback runZonedGuarded [Crashlytics, Flutter]

Estoy implementando Crashlytics con flutter,
y siguiendo esta documentación Usando Firebase Crashlytics

Me preguntaba qué pasaría realmente si se produce un error dentro de la devolución de llamada de error de runZonedGuarded (ver la flecha en el código)

void main() async {
  runZonedGuarded<><void>>(() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();
    FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
    runApp(MyApp());
  }, (error, stackTrace) async {
      // algún código con errores aquí <----------
     await crashlytics.handleNonFlutterErrors(error,stackTrace);
  });
}

Así que lo he probado y para mi sorpresa, todavía es silenciado por el marco de Flutter y la traza de pila se muestra en la consola; esperaba que la aplicación se bloqueara pero no lo hizo…

¿Alguien sabe cómo gestionar este tipo de errores?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en informática especializado en Flutter y Dart, puedo decir que en el fragmento de código dado, un error lanzado dentro del callback <error, stackTrace> del método runZonedGuarded() será capturado por el propio método y luego manejado por la instancia de Crashlytics utilizando el método handleNonFlutterErrors().

    Sin embargo, según las pruebas realizadas por el autor, parece que el error no está haciendo que la aplicación se bloquee y que únicamente se está imprimiendo la stacktrace en la consola. No está claro por qué está sucediendo esto y si se trata de un error o un comportamiento deseado.

    Para manejar este tipo de error, puede ser necesario realizar una investigación adicional para comprender por qué el error no está causando el bloqueo de la aplicación y si existen otros métodos alternativos para manejarlo. También puede ser útil consultar la documentación de Flutter y Crashlytics o solicitar ayuda a la comunidad de Flutter.

Comments are closed.