//适用于调试代码,当程序执行出错时,程序立即停止,并抛出异常;
//这是一个宏 --称之为 断言;
int x = 1;
NSAssert(x!=0, @"**********************不能为0");
/*
1: 如上代码,当 !=0时,不会打印上述 不能为0;
2:当 x=0 时,就会打印上述信息,并程序立即抛出异常;
*/
内部实现---------
#define NSAssert(condition, desc, ...) \ do { \ __PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS \ if (!(condition)) { \ [[NSAssertionHandler currentHandler] handleFailureInMethod:_cmd \ object:self file:[NSString stringWithUTF8String:__FILE__] \ lineNumber:__LINE__ description:(desc), ##__VA_ARGS__]; \ } \ __PRAGMA_POP_NO_EXTRA_ARG_WARNINGS \ } while(0)