异常关键字@thorw 异常类NSException

2018-08-08  本文已影响0人  张无奈

有时候我们项目需求,需要人为的抛出异常,使程序崩溃退出,这时候就用到@throw了。

NSString *bundleId = [[NSBundle mainBundle] bundleIdentifier];

NSString *format = @"Configure APIKey inside SDKDemoAPIKey.h for your "

  @"bundle `%@`, see README.GoogleMapsDemos for more information";

    @throw [NSException exceptionWithName:@"DemoAppDelegate" reason:[NSStringstringWithFormat:format, bundleId] userInfo:nil];

Object-C语言的异常处理符号和C++、JAVA相似。再加上使用NSException,NSError或者自定义的类,你可以在你的应用程序里添加强大的错误处理机制。异常处理机制是由这个四个关键字支持的:@try,@catch,@thorw,@finally。当代码有可能出现异常时,我们把他放到@try语句块中。@catch()块包含了处理@try块里的抛出的异常的逻辑。无论异常是否发生,@finally块里面的语句都会执行。如果直接使用@throw块来抛出异常,这个异常本质上是一个OC的对象。咱们可以使用NSException对象,但是不局限于他们。

voidUncaughtExceptionHandler(NSException*exception);

 NSArray *arr = [exception callStackSymbols];//得到当前调用栈信息

   NSString*reason = [exceptionreason];//非常重要,就是崩溃的原因

   NSString*name = [exceptionname];//异常类型

上一篇下一篇

猜你喜欢

热点阅读