//
// 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.html
int 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;
}
objective-c之错误处理
最新推荐文章于 2020-02-04 13:05:24 发布