NSError 应用

//
//  main.m
//  commandLineProject
//

#import 

char * requestNewByID(int newsId, NSError ** errorPoint)
{
    if ( newsId ==1 )
    {
        return "No news is good news.";
    }else
    {
        NSString *domain = @"ErrorNesID ..... ";
        NSString *message = @"Failed to request News.";
        // 初始化一个字典,表示用户的信息字典
        NSDictionary *userInfo = [[NSDictionary alloc] initWithObjectsAndKeys:message, @"NSLocalizedDescriptionKey", nil];
        
        // 创建一个 Error 信息
        *errorPoint = [NSError errorWithDomain:domain code:404 userInfo:userInfo];
        return "";
    }
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 初始化值为空的 error 对象
        NSError *error = nil;
        // 调用这个参数,调用的结果放在第二个参数中
        char * news1 = requestNewByID(1, &error);
        // 对指针进行非空判断,如果为空,则输入错误信息,如果非空,则显示
        if(error)
        {
            NSLog(@"Error: %@", error);
        }
        else
        {
            NSLog(@"News: %s", news1);
        }
        
        // 再次调用
        error = nil;
        char * news2 = requestNewByID(2, &error);
        if(error)
        {
            NSLog(@"Error: %@", error);
        }
        else
        {
            NSLog(@"News: %s", news2);
        }
    }
    return 0;
}

你可能感兴趣的:(NSError 应用)