¿Por qué @try no bloquea el trabajo? Se bloqueó la aplicación, pero se suponía que debía ser atrapada por el bloque @try.
NSString* test = [NSString stringWithString:@"ss"];
@try {
[test characterAtIndex:6];
}
@catch (NSException * e) {
NSLog(@"Exception: %@", e);
}
@finally {
NSLog(@"finally");
}
iphone
objective-c
try-catch-finally
nsexception
Alexandru Circus
fuente
fuente
Respuestas:
Todo funciona perfectamente :)
Iniciar sesión:
fuente
Ahora he encontrado el problema.
Eliminar el
obj_exception_throw
de mis puntos de interrupción resolvió esto. Ahora está atrapado por el@try
bloque y tambiénNSSetUncaughtExceptionHandler
manejará esto si@try
falta un bloque.fuente
Objective-C no es Java. En Objective-C, las excepciones son lo que se llaman. Excepciones! No los use para el manejo de errores. No es su propuesta. Simplemente verifique la longitud de la cadena antes de usar characterAtIndex y todo estará bien ...
fuente