iphone ios objective-c exc-bad-access

iphone - ¿Hay alguna forma de capturar o manejar EXC_BAD_ACCESS?



ios objective-c (3)

A veces puedes atraparlo en main , con un manejador de señal. Sin embargo, no te permite hacer mucho, aparte de registrar algunas cosas.

Según tengo entendido, EXC_BAD_ACCESS ocurre cuando intentas acceder a la mala memoria (no dudes en corregirme si me equivoco).

¿Hay alguna forma de atraparlo como en un try-catch en Java para evitar un error total de la aplicación?


No EXC_BAD_ACCESS significa que las cosas se han salido de los rieles. Su programa está intentando acceder a una dirección de memoria que no es válida. Es decir, la memoria se ha corrompido y no hay una recuperación predecible.

Puede ser un problema de gestión de memoria. Si puede reproducir el problema, active NSZombies y vea qué sucede. O publicar el retroceso aquí.

Tenga en cuenta que las excepciones de estilo try-catch no son recuperables en iOS / Cocoa, también. No se deben usar excepciones para el manejo de errores recuperables. Para eso está NSError.


Se puede usar un retén de prueba, pero primero debe saber qué causó el problema. Puede habilitar NSZombie para su compilación actual para detectar el error y eliminar la necesidad. Editar esquema actual, habilitar NSZombie.

  • Actualización * Swift2 + tiene un excelente manejo de errores ahora y definitivamente vale la pena echarle un vistazo. Manejo rápido de errores