With.h
author Jens Alfke <jens@mooseyard.com>
Tue May 20 17:40:28 2008 -0700 (2008-05-20)
changeset 10 82a37ccf6b8c
permissions -rw-r--r--
Split ExceptionUtils out of Test.
     1 //
     2 //  With.h
     3 //  MYUtilities
     4 //
     5 //  Copyright 2008 Jens Alfke. All rights reserved.
     6 //
     7 
     8 #import <Cocoa/Cocoa.h>
     9 
    10 
    11 #define WITH(OBJ)       id __with=[OBJ beginWith]; @try
    12 
    13 #define ENDWITH         @finally{[__with endWith];}
    14 #define CATCHWITH       @catch(NSException *x){id w=__with; __with=nil; _catchWith(w,x);} @finally{[__with endWith];}
    15 
    16 void _catchWith( id with, NSException *x );
    17 
    18 @interface NSAutoreleasePool (With)
    19 + (NSAutoreleasePool*) beginWith;
    20 - (void) endWith;
    21 @end