苹果在foundation.framework中定义了这么一个宏:
#define NSAssert(condition, desc, ...)
第一个参数为一个条件判断,如果为假,则抛出异常,显示第二个参数所描述的信息。
例如
NSAssert(2>=4.4, @"2>=4.4 is false!");
在debug模式下运行,会终止程序,并抛出如下异常:
2013-04-24 09:24:16.618 TestAssertion[825:c07] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '2>=4.4 is false!'
在release模式下运行,不终止程序不抛出异常。
这样方便调试程序。
开发ios程序时调试的好帮手---NSAssert()函数。而且和NSLog()函数一样简单易用,代码如下: NSAssert(x!=0,@"x must not be zero");
在表达式“x!=0”不成立时,程序就会抛出异常,并显示自定义的消息"x must not be zero",并同时显示出错的文件、代码和调用函数等信息,是一个程序追踪的很好手段。
假设x!=0,不满足要求就提示reason-x must not be zero