On Apr 30, 2012, at 11:00 AM, Jens Alfke <[email protected]> wrote:
> On Apr 29, 2012, at 8:00 PM, Don Quixote de la Mancha wrote:
>> Place some assertions as the very first executable lines in each of
>> your subroutines.
> ...
>> #include <assert.h>
>> 
>> void foo( int *ptr )
>> {
>>  assert( NULL != ptr );
> 
> Ouch. Don’t use this in a Cocoa app; use NSAssert and NSParameterAssert 
> instead. You’ll get much better reporting of the error, because you can use 
> custom messages with parameters, and the app will raise an exception and log 
> the backtrace. On Mac OS the system will also put up the standard crash 
> alert, whereas a call to abort() (which is what assert() calls) just makes 
> the app vanish with no explanation to the user.

assert() and abort() also log the backtrace and present the standard crash 
alert to the user.


-- 
Greg Parker     [email protected]     Runtime Wrangler



_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to