| #import <Foundation/Foundation.h> | |
| @interface MyException : NSException | |
| { | |
| int extra_info; | |
| } | |
| - (NSException *) initWithExtraInfo: (int) info; | |
| @end | |
| @implementation MyException | |
| - (NSException *) initWithExtraInfo: (int) info | |
| { | |
| [super initWithName: @"NSException" reason: @"Simple Reason" userInfo: nil]; | |
| self->extra_info = info; | |
| return self; | |
| } | |
| @end | |
| int | |
| main(int argc, char **argv) | |
| { | |
| // Set a breakpoint here for plain exception: | |
| @try { | |
| NSException *plain_exc = [[NSException alloc] initWithName: @"NSException" reason: @"Simple Reason" userInfo: nil]; | |
| [plain_exc raise]; | |
| } | |
| @catch (id anException) {} | |
| // Set a breakpoint here for MyException: | |
| @try { | |
| MyException *my_exc = [[MyException alloc] initWithExtraInfo: 100]; | |
| [my_exc raise]; | |
| } | |
| @catch (id anException) {} | |
| return 0; | |
| } |