异常捕获

//把可能出现异常的代码放在try中

BOOL isError=NO;

@try {

      for(int i=0;i<count;i++){

                NSString *sql=@"insert into student(id,name)values(?,?)";

                NSString *uid=[NSString stringWithFormat:@"%d",i];

                NSString *name=[NSString stringWithFormat:@"name%d",i];

                BOOL ret=[_db executeUpdate:sql,uid,name];

                if(!ret){

                    NSLog(@"insert error:%@",_db.lastErrorMessage);

                }

            }

        }

//如果出现异常,流程会转到此代码块进行处理,exception就是异常对象

@catch (NSException *exception) {

            isError=YES;

            //事务回滚

            [_db rollback];

            NSLog(@"error:%@",exception.reason);

}

//无论是否出现异常,代码都会执行此代码块中的内容

@finally {

        if(!isError){

                //提交事务(事务一旦提交就不能再回滚了)

                [_db commit];

            }

        }

posted @ 2015-11-04 10:09  BuddyLiu  阅读(154)  评论(0编辑  收藏  举报