recherche

Maison  >  Questions et réponses  >  le corps du texte

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 Il y a quelques jours458

répondre à tous(1)je répondrai

  • 高洛峰

    高洛峰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.

    répondre
    0
  • Annulerrépondre