2011-04-18 12 views
29

La construcción try{}catch es común a C++, Java & idiomas relacionados. En el SDK de iOS, ¿hay alguna funcionalidad como esta?prueba y captura en iPhone?

+0

posible duplicado de [la práctica de manejo de excepciones try-catch para iPhone/Objective-C] (http://stackoverflow.com/questions/3678438/try-catch-exception-handling-practice-for-iphone- objetivo-c) – ceejayoz

+6

Algunos consejos, ya que parece que vienes del mundo de Java: en iOS, las excepciones rara vez se utilizan para el control de programas. Una excepción casi siempre significa que el programador hizo algo mal y debería ser corregido. http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html#//apple_ref/doc/uid/TP40001806-CH204-BAJIIGCC – kubi

+2

Aquí hay un enlace mejor que describe el papel de las excepciones en Cocoa/iOS: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html#//apple_ref/doc/uid/TP40001806-CH204-BAJIIGCC – kubi

Respuesta

92
@try { 
    // Try something 
} 
@catch (NSException * e) { 
    NSLog(@"Exception: %@", e); 
} 
@finally { 
    // Added to show finally works as well 
} 
+4

Curioso: ¿alguna vez hay una situación en la que la excepción capturada no sea de tipo 'NSException'? Más importante aún, ¿hay alguna vez una situación en la que el 'NSLog' pueda explotar? Si crees que esta es una pregunta diferente, házmelo saber y lo preguntaré correctamente. –

+0

Sí, puede capturar una excepción específica o una excepción personalizada. Vea el ejemplo en "Capturar diferentes tipos de excepciones". http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/Chapters/ocExceptionHandling.html – IanStallings

Cuestiones relacionadas