Maison > Questions et réponses > le corps du texte
NSException与NSError在使用中有哪些区别?
#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSException* ex = [[NSException alloc]initWithName:@"MyException" reason:@"b==0" userInfo:nil]; @try { int b = 0; switch (b) { case 0: @throw(ex);//b=0,则抛出异常; break; default: break; } } @catch (NSException *exception)//捕获抛出的异常 { NSLog(@"exception.name= %@" ,exception.name); NSLog(@"exception.reason= %@" ,exception.reason); NSLog(@"b==0 Exception!"); } @finally { NSLog(@"finally!"); } [ex release]; } return 0; }
https://developer.apple.com/library/m...
https://developer.apple.com/library/m...
高洛峰2017-04-21 11:17:57
Les exceptions et les erreurs sont deux choses complètement différentes. Si une exception est levée mais que vous ne l'attrapez pas, elle plantera. Mais si une erreur est renvoyée, vous pouvez faire ce que vous voulez avec le monde extérieur. Cela vous indique simplement qu'il y a une erreur dans cet appel.