第十章 错误处理

1.如果有可能污染用户数据,那还不如趁早崩溃了好。

2.错误处理,可以尝试使用:错误处理块。

例如:修改数据方法

- (void)viewDidLoad
{
    [super viewDidLoad];
    
	// Do any additional setup after loading the view, typically from a nib.
    
    //调用修改Item方法
    [self ChangeItem:^(NSError *e) {
        if(e)
        {
            //发生错误
        }else
        {
            //执行成功
        }
    }];
}

//修改Item
- (void)ChangeItem:(void(^)(NSError *errorOrNil))itemHandler
{
    //声明队列
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
    //对队列执行异步操作
    dispatch_async(queue, ^{
        
        NSLog(@"do something");
        
        NSError *error = nil;
        //如果发生错误
        if(1!=1)
        {
            //错误说明,解释
            error = [NSError errorWithDomain:@"ChangeItem" code:1 userInfo:nil];
        }
        //回到主程序,处理错误
        dispatch_async(dispatch_get_main_queue(), ^{
            //自定义处理错误
            [self HandlingErrors:error];
        });
    });
}

3.IOS错误日志的记录(HockeyApp);打包(Minizip)

4.关于块的使用

你可能感兴趣的:(异步,块,错误处理)