2011-11-03 12 views
5

¿Cómo puedo detectar todas las excepciones en una aplicación de iPhone e informar a un servidor central?¿Cómo puedo detectar todas las excepciones en la aplicación de iPhone

Quiero tener acceso a los mensajes de excepción que ocurrieron en los dispositivos (todos los dispositivos que instalan mi aplicación).

+0

Stackoverflow FAQ "preguntas abiertas disminuye la utilidad de nuestro sitio y empuje otras preguntas de las primeras planas. Sus preguntas deben estar al alcance razonable. Si se puede imaginar un libro entero que responde a su pregunta, usted' Estoy pidiendo demasiado ". – 0x8badf00d

+0

Creo que está buscando algún tipo de manejador de excepción global ... – bryanmac

+0

0x8badf00d, realmente no sabes nada sobre objetivo-c. Una tarea de programación común es establecer un manejador de excepciones para manejar todas las excepciones. Se requiere una lógica específica para hacer esto. Esta pregunta pregunta directamente sobre cómo realizar esta tarea común de programación objetivo-c. Es una pregunta estrechamente delimitada y hay una respuesta posible específica. Esa respuesta se da a continuación. –

Respuesta

7

En su delegado de aplicación puede llamar al NSSetUncaughtExceptionHandler para instalar un controlador para manejar excepciones no detectadas.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 
} 

void uncaughtExceptionHandler(NSException *exception) { 
    NSLog(@"%s %@", __PRETTY_FUNCTION__, exception); 
} 
+0

si entiendo esto, ¿mi aplicación se cierra después de eso? – onmyway133

+1

@Entropy Encontré esta respuesta cuando estaba buscando qué hacer, ¡tardé 5 segundos en determinar la respuesta a su pregunta cuando la conecté! –

+0

¿Cómo puedo usar esto para la excepción de C++ y arrojar códigos? –

Cuestiones relacionadas