summaryrefslogtreecommitdiff
path: root/MLKDynamicContext.m
diff options
context:
space:
mode:
Diffstat (limited to 'MLKDynamicContext.m')
-rw-r--r--MLKDynamicContext.m25
1 files changed, 8 insertions, 17 deletions
diff --git a/MLKDynamicContext.m b/MLKDynamicContext.m
index 70979cf..5029a95 100644
--- a/MLKDynamicContext.m
+++ b/MLKDynamicContext.m
@@ -43,6 +43,7 @@
#import "MLKSharpsignColonReader.h"
#import "MLKSymbol.h"
#import "MLKInteger.h"
+#import "MLKUnboundVariableError.h"
#import "runtime-compatibility.h"
#import "util.h"
@@ -359,35 +360,25 @@ static MLKDynamicContext *global_context;
-(id) findRestart:(MLKSymbol *)symbol
{
- NS_DURING
+ @try
{
- NS_VALUERETURN ([_restarts valueForSymbol:symbol], id);
+ return [_restarts valueForSymbol:symbol];
}
- NS_HANDLER
- {
- if (![[localException name] isEqualToString: @"MLKUnboundVariableError"])
- [localException raise];
- }
- NS_ENDHANDLER;
+ @catch (MLKUnboundVariableError *e) { }
return nil;
}
-(id) findHandler:(MLKSymbol *)symbol
{
- NS_DURING
+ @try
{
if (_activeHandlerEnvironment)
- NS_VALUERETURN ([[_activeHandlerEnvironment parent] valueForSymbol:symbol], id);
+ return [[_activeHandlerEnvironment parent] valueForSymbol:symbol];
else
- NS_VALUERETURN ([_conditionHandlers valueForSymbol:symbol], id);
- }
- NS_HANDLER
- {
- if (![[localException name] isEqualToString: @"MLKUnboundVariableError"])
- [localException raise];
+ return [_conditionHandlers valueForSymbol:symbol];
}
- NS_ENDHANDLER;
+ @catch (MLKUnboundVariableError *e) { }
return nil;
}