ftp.nice.ch/pub/next/science/mathematics/MathArray.0.60.s.tar.gz#/MathArray.0.60/MathArray/MaskedException.h

This is MaskedException.h in view mode; [Download] [Up]

/*
    MaskedException - Allow masking of exceptions.

    Copyright (C) 1995, Adam Fedor.

*/
#ifndef _MaskedException_INCLUDE_
#define _MaskedException_INCLUDE_

#ifdef NEXT_FOUNDATION
#import <foundation/NSException.h>
#else
#import <Foundation/NSException.h>
#import <Foundation/NSString.h>
#endif

typedef enum {
    RaiseException,		/* Act normal */
    AbortException,		/* Abort with information (via assert) */
    HandleException,		/* Call an alternate exception handler */
    LogException,		/* Ignore but print exception (DANGEROUS!) */
    IgnoreException,		/* Silent Ignore and continue (DANGEROUS!) */
} ExceptionMask;

@protocol MaskedExceptionHandling
- (void)exceptionWithName: (NSString *)raise_name
	reason: (NSString *)raise_reason
	userInfo: (NSDictionary *)raise_info;
@end

@interface MaskedException : NSException
{
}

+ (void)bodysnatchNSException;
	/* Same as [MaskedException poseAsClass:NSException].  Apply our
	   devious masking to all exceptions */

// Setting exception handler
+ (void)setHandler:(id <MaskedExceptionHandling>)handler 
	forException:(NSString *)exceptionName;
+ (void)setHandler:(id <MaskedExceptionHandling>)handler 
	forExceptionsWithPrefix:(NSString *)prefix;
+ (void)setHandlerForAllExceptions:(id <MaskedExceptionHandling>)handler;

// Setting masks
+ (void)setMask:(ExceptionMask)mask forException:(NSString *)exceptionName;
+ (void)setMask:(ExceptionMask)mask forExceptionsWithPrefix:(NSString *)prefix;
+ (void)setMaskForAllExceptions:(ExceptionMask)mask;

// Getting mask information
+ (ExceptionMask)maskForException:(NSString *)exceptionName;

@end

#endif

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.