NSAssert断言

        //适用于调试代码,当程序执行出错时,程序立即停止,并抛出异常;

        //这是一个宏 --称之为  断言;

        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)

  

posted @   cocoajin  阅读(221)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示