My test application doesn't link with the ExceptionHandling framework at all....
So, it looks like we have two things going on here under Cocoa/OpenStep: 1) The standard/default exception handler generally just logs the exception and continues... as illustrated by my example code. 2) The ExceptionHandling.framework allows us to handle exceptions in a more finely grained manner by replacing the standard/default exception handler with one that can talk to the delegate. (if the application links with the ExceptionHandling.framework) So it seems that implementing part 1 and 2 are not interdependent on one another. Is anyone else getting that impression? GC On Fri, Feb 6, 2009 at 10:51 AM, Wolfgang Lux <wolfgang....@gmail.com>wrote: > Gregory Casamento wrote: > > What should "NSExceptionMask" be implemented as? SHould it be a boolean >> that determines if we should allow the application to continue or not? >> >> That is to say >> * NSExceptionMask = YES - report all exceptions, but continue anyway... >> * NSExceptionMask = NO - current behavior >> >> If so, I have a patch almost ready. I'll submit it to the group prior to >> committing it since a change that is this important needs to have some >> amount of consensus. >> > > Have a look at Apple's ExceptionHandlingFramework, which is described here: > > http://developer.apple.com/documentation/Cocoa/Reference/ > ExceptionHandlingFramework/index.html > > Implementation of this framework looks very straight forward, and I guess > that they simply install the defaultExceptionHandler in the event loop of > NSApplication. > > The NSExceptionHandlingMask (not NSExceptionMask!) default is described in > the accompanying guide that Richard mentioned already: > > http://developer.apple.com/documentation/Cocoa/Conceptual/ > Exceptions/Exceptions.html > > In particular, see the section "Controlling a Program's Response to > Exceptions". > > Essentially, NSExceptionHandlingMask is a bit mask that controls whether > uncaught exceptions, uncaught system exceptions, and runtime errors are > logged and/or handled. The important values (quoted from the above document) > are > > #define NSLogUncaughtExceptionMask 1 > #define NSHandleUncaughtExceptionMask 2 > #define NSLogUncaughtSystemExceptionMask 4 > #define NSHandleUncaughtSystemExceptionMask 8 > #define NSLogRuntimeErrorMask 16 > #define NSLogUncaughtRuntimeErrorMask 32 > > Wolfgang > > -- Gregory Casamento Open Logic Corporation, Principal Consultant ## GNUstep Chief Maintainer yahoo/skype: greg_casamento, aol: gjcasa (240)274-9630 (Cell), (301)362-9640 (Home)
_______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev