【Objective-C】简单使用断言和异常
2015-12-18 本文已影响936人
刘大帅
学习文章
简单用法
// 断言
// NSAssert括号里是可变变量的宏,也可以像下面那样用指定参数数量的断言,如NSAssert1,NSAssert2
NSAssert(1 > 0, @"HaHa");
NSAssert(1 > 0, @"%@",@"LiuDaShuai");
NSAssert1(1 > 0, @"%@", @"LiuDaShuai");
NSAssert(1 > 0, @"%@%@", @"LiuDaShuai",@"Test");
NSAssert2(1 > 0, @"%@%@", @"LiuDaShuai", @"Test");
// 利用try --> catch --> finallly 追踪异常
NSException* ex = [[NSException alloc]initWithName:@"MyException"
reason:@"b==0"
userInfo:nil];
@try
{
int b = 0;
switch (b)
{
case 0:
@throw(ex);//b=0,则抛出异常;
break;
default:
break;
}
}
@catch (NSException *exception)//捕获抛出的异常
{
NSLog(@"b==0 Exception!");
}
@finally
{
NSLog(@"finally!");
}
// 直接抛出异常方法一
NSException * exception = [[NSException alloc]initWithName:@"A exception" reason:@"b == 0" userInfo:nil];
@throw exception;
// 直接抛出异常方法二
[NSException raise:@"A exception" format:@"b == 0"];