찾다

 >  Q&A  >  본문

objective-c - NSException与NSError区别?

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...

怪我咯怪我咯2765일 전456

모든 응답(1)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-21 11:17:57

    예외와 오류는 완전히 다른 것입니다. 예외가 발생했지만 이를 포착하지 못하면 충돌이 발생합니다. 그러나 오류가 반환되면 외부 세계에 원하는 모든 작업을 수행할 수 있습니다. 이는 단지 이 호출에 오류가 있음을 알려줄 뿐입니다.

    회신하다
    0
  • 취소회신하다