48 lines
		
	
	
		
			778 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			778 B
		
	
	
	
		
			Objective-C
		
	
	
	
#import <Foundation/Foundation.h>
 | 
						|
 | 
						|
@interface MyClass : NSObject
 | 
						|
{
 | 
						|
}
 | 
						|
- (int) callMeIThrow;
 | 
						|
- (int) iCatchMyself;
 | 
						|
@end
 | 
						|
 | 
						|
@implementation MyClass
 | 
						|
- (int) callMeIThrow
 | 
						|
{
 | 
						|
    NSException *e = [NSException
 | 
						|
                       exceptionWithName:@"JustForTheHeckOfItException"
 | 
						|
                       reason:@"I felt like it"
 | 
						|
                       userInfo:nil];
 | 
						|
    @throw e;
 | 
						|
    return 56;
 | 
						|
}
 | 
						|
 | 
						|
- (int) iCatchMyself
 | 
						|
{
 | 
						|
  int return_value = 55;
 | 
						|
  @try
 | 
						|
    {
 | 
						|
      return_value = [self callMeIThrow];
 | 
						|
    }
 | 
						|
  @catch (NSException *e)
 | 
						|
    {
 | 
						|
      return_value = 57;
 | 
						|
    }
 | 
						|
  return return_value;
 | 
						|
}
 | 
						|
@end
 | 
						|
 | 
						|
int
 | 
						|
main ()
 | 
						|
{
 | 
						|
  int return_value;
 | 
						|
  MyClass *my_class = [[MyClass alloc] init];
 | 
						|
 | 
						|
  NSLog (@"I am about to throw.");
 | 
						|
 | 
						|
  return_value = [my_class iCatchMyself];
 | 
						|
 | 
						|
  return return_value;
 | 
						|
}
 |