blob: ec6911d6377eaedd29329a312dd379a9b383783a [file] [log] [blame]
#import <Foundation/Foundation.h>
#include <stdio.h>
@interface throw_me : NSObject {
int myValue;
}
- (id) initWithValue: (int) inValue;
- (int) report;
- (void) throwMe;
@end
@implementation throw_me
- (id) initWithValue: (int) value
{
myValue = value;
return self;
}
- (int) report
{
printf ("My value is %d\n", myValue);
return myValue;
}
- (void) throwMe
{
@throw self;
}
@end
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
throw_me *myException;
myException = [[throw_me alloc] initWithValue:5];
@try
{
[myException throwMe]; /* Breakpoint after making myException */
}
@catch (throw_me *exc)
{
[exc report]; /* This is the catch clause */
}
[pool release];
return 0;
}