• iOS 利用异常 NSException 调试代码


    可以用在代码的调试上:

    -(instancetype)init{

        

        @throw [NSException exceptionWithName:@"Singleton" reason:@"Use [GloabData shareData]" userInfo:nil];

        

        return  nil;

    }

    或者:

     NSException * e = [[NSException alloc] initWithName:@"Singleton" reason:@"Use [GloabData shareData]" userInfo:nil];

        @throw e;

     

    抛出了一个bug:

    关于异常的处理:

            NSException* ex = [[NSException alloc] initWithName:@"ExceptionName"   // just for test                                        
         reason:@"XXX"
             userInfo:nil];
         CustomNSException* ex = [[CustomNSException alloc] initWithName:@"CustomNSExceptionName" // just for test reason:@"XXX" userInfo:nil];

    @try { bool error = YES;  

             if (error) {  

             @throw ex;  

                   }  

    }

        @catch ( CustomNSException *exception ) {     
            NSLog(@"CustomNSException.name = %@" ,CustomNSException.name);
           NSLog(@"CustomNSException.reason = %@" , CustomNSException.reason);

    UIAlertView* alert = [[UIAlertView alloc]   initWithTitle:CustomNSException.name  message:CustomNSException.reason                                         delegate:nil  cancelButtonTitle:nil   otherButtonTitles:nil];  

          [alert show]; 

    }  

    @catch ( NSException *exception ) {  

         NSLog(@"exception.name = %@" , exception.name);      

        NSLog(@"exception.reason = %@" , exception.reason);  

    }  

    @finally {  

            NSLog(@"@finally");  

      }

  • 相关阅读:
    初识多线程
    java开发中我们经常用到的一些名词
    gitHub提交代码
    Java-基础-HashMap
    Java-基础-LinkedList
    Java-基础-ArrayList
    Java-基础-JDK动态代理
    Java-基础-反射
    RabbitMQ-延迟队列
    RabbitMQ-TTL-死信队列_DLX
  • 原文地址:https://www.cnblogs.com/feiyafeiblog/p/5041537.html
Copyright © 2020-2023  润新知