1#import <Foundation/Foundation.h>
2
3@interface MyException : NSException
4{
5 int extra_info;
6}
7- (NSException *) initWithExtraInfo: (int) info;
8@end
9
10@implementation MyException
11- (NSException *) initWithExtraInfo: (int) info
12{
13 [super initWithName: @"NSException" reason: @"Simple Reason" userInfo: nil];
14 self->extra_info = info;
15 return self;
16}
17@end
18
19int
20main(int argc, char **argv)
21{
22 // Set a breakpoint here for plain exception:
23 @try {
24 NSException *plain_exc = [[NSException alloc] initWithName: @"NSException" reason: @"Simple Reason" userInfo: nil];
25 [plain_exc raise];
26 }
27 @catch (id anException) {}
28
29 // Set a breakpoint here for MyException:
30 @try {
31 MyException *my_exc = [[MyException alloc] initWithExtraInfo: 100];
32 [my_exc raise];
33 }
34 @catch (id anException) {}
35
36 return 0;
37}
38

source code of lldb/test/API/macosx/objc_exception_recognizer/main.m