Pourquoi le bloc @try ne fonctionne-t-il pas? L'application s'est bloquée, mais elle était censée être prise par le bloc @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
Cirque d'Alexandru
la source
la source
Réponses:
Tout fonctionne parfaitement :)
Journal:
la source
Maintenant, j'ai trouvé le problème.
Supprimer le
obj_exception_throw
de mes points d'arrêt a résolu ce problème. Maintenant, il est attrapé par le@try
bloc etNSSetUncaughtExceptionHandler
gère également cela si un@try
bloc est manquant.la source
Objective-C n'est pas Java. Dans Objective-C, les exceptions sont ce qu'elles sont appelées. Des exceptions! Ne les utilisez pas pour la gestion des erreurs. Ce n'est pas leur proposition. Vérifiez simplement la longueur de la chaîne avant d'utiliser characterAtIndex et tout va bien ....
la source