ASSERT()和NSAssert

本文介绍了NSAssert函数在iOS开发中的应用,该函数作为调试助手可在表达式不成立时抛出异常并显示错误信息。文章对比了NSAssert与C语言assert宏的区别,NSAssert在Objective-C中使用更广泛,提供了更多调试信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发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


assert 是C里面的宏。用于断言。

NSAssert 只能在Objective-c里面使用。是assert的一个扩充。能捕获assert类异常及打印一些

可读的日志。而assert只是让app crash(abort).

//////////////////////////////////////////////////////////////////////////////////////

ASSERT():是一个宏,在debug版本中使用,在release版本中编译忽略.它的好处很明显,就是捕获程序运行出错的地方,会指示出错的位置,方便查找错误。

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序: 
    ...... 
    ASSERT( n != 0); 
    k = 10/ n;

参考网址:http://www.cppblog.com/sunraiing9/archive/2007/09/21/32595.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值