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

source code of lldb/test/API/commands/expression/call-throws/call-throws.m