美文网首页
OC 中的 try catch

OC 中的 try catch

作者: 三十一_iOS | 来源:发表于2016-08-07 10:15 被阅读577次

    最近接收了个老项目,发现了之前没有接触过的一种用法。

    如下

        dispatch_async(dispatch_get_global_queue(0, 0), ^{
            @try {
                NSLog(@"@try");
    
                 NSInteger failCount = [CySignProcessor setSpecialSigns:@[@"*"] signContent:@"哈哈哈哈哈哈哈" signPkgId:nil startTime:@"01:23:00" endTime:@"22:23:59" week:@"1111111"];
                
                NSLog(@"failCount = %ld",(long)failCount);
    
            }
            @catch (NSException *exception) {
                NSLog(@"@NSException");
    
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    [alert loadingViewToErrorViewWithText:exception.name];
                    [alert dissWithDelay:DefaultAlertShowTime];
                });
        
            }
            @finally {
                
                NSLog(@"@finally");
                
            }
            
            NSLog(@"@end");
            dispatch_async(dispatch_get_main_queue(), ^{
                [self.navigationController popViewControllerAnimated:YES];
            });
    
            
        });
    

    日志输入如下

    Paste_Image.png

    抛出异常以后,直接就到了catch 哪里,try里面剩余的代码就不执行了。
    刚问了安卓的同事,就是这样执行的。

    这里只是一个记录,勿喷,主要是在OC里面第一次见到用try catch。

    相关文章

      网友评论

          本文标题:OC 中的 try catch

          本文链接:https://www.haomeiwen.com/subject/zuklsttx.html