NSException與NSError在使用中有哪些區(qū)別?
#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...
走同樣的路,發(fā)現(xiàn)不同的人生
Exceptions and errors are two completely different things. If an exception is thrown but you don't catch it, it will crash. But if an error is returned, you can do whatever you want to the outside world. It just tells you that there is an error in this call.