1#import <Foundation/Foundation.h> 2 3@interface MyClass : NSObject 4{ 5} 6- (int) callMeIThrow; 7- (int) iCatchMyself; 8@end 9 10@implementation MyClass 11- (int) callMeIThrow 12{ 13 NSException *e = [NSException 14 exceptionWithName:@"JustForTheHeckOfItException" 15 reason:@"I felt like it" 16 userInfo:nil]; 17 @throw e; 18 return 56; 19} 20 21- (int) iCatchMyself 22{ 23 int return_value = 55; 24 @try 25 { 26 return_value = [self callMeIThrow]; 27 } 28 @catch (NSException *e) 29 { 30 return_value = 57; 31 } 32 return return_value; 33} 34@end 35 36int 37main () 38{ 39 int return_value; 40 MyClass *my_class = [[MyClass alloc] init]; 41 42 NSLog (@"I am about to throw."); 43 44 return_value = [my_class iCatchMyself]; 45 46 return return_value; 47} 48