objective-c之错误处理

来源:互联网 发布:网络在线教育平台 编辑:程序博客网 时间:2024/06/01 12:35
////  main.m//  错误处理////  Created by wu jianhua on 16-8-3.//  Copyright (c) 2016年 wujianhua. All rights reserved.//#import <Foundation/Foundation.h>@interface SampleClass : NSObject- (NSString*) getEmployeeNameForID:(int) id withError:(NSError **) errorPtr;@end@implementation SampleClass- (NSString *)getEmployeeNameForID:(int)id withError:(NSError **)errorPtr{    if(id == 1)    {        return @"Employee Test Name";    }    else    {        NSString *domain = @"com.MyCompany.MyApplication.ErrorDomain";        NSString *desc =@"Unable to complete the process";        NSDictionary *userInfo = [[NSDictionary alloc]                                  initWithObjectsAndKeys:desc,                                  @"NSLocalizedDescriptionKey",NULL];        *errorPtr = [NSError errorWithDomain:domain code:-101                                    userInfo:userInfo];        return @"";    }    }@end//http://www.yiibai.com/objective_c/objective_c_error_handling.htmlint main(int argc, const char * argv[]){    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];        SampleClass *sampleClass = [[SampleClass alloc]init];    NSError *error = nil;    NSString *name1 = [sampleClass getEmployeeNameForID:1 withError:&error];        if(error)    {        NSLog(@"Error finding Name1: %@",error);    }    else    {        NSLog(@"Name1: %@",name1);    }        error = nil;        NSString *name2 = [sampleClass getEmployeeNameForID:2 withError:&error];        if(error)    {        NSLog(@"Error finding Name2: %@",error);    }    else    {        NSLog(@"Name2: %@",name2);    }        [pool drain];            return 0;}

0 0
原创粉丝点击