Por que o @try block não funciona? Ele travou o aplicativo, mas deveria ser pego pelo bloco @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
fonte
fonte
Respostas:
Todos funcionam perfeitamente :)
Registro:
fonte
Agora eu encontrei o problema.
A remoção
obj_exception_throw
dos pontos de interrupção resolveu isso. Agora ele é capturado pelo@try
bloco e, também,NSSetUncaughtExceptionHandler
lidará com isso se um@try
bloco estiver faltando.fonte
Objective-C não é Java. No Objective-C, as exceções são o que são chamadas. Exceções! Não os use para manipulação de erros. Não é a proposta deles. Basta verificar o comprimento da string antes de usar characterAtIndex e está tudo bem ....
fonte