Skip to content

Commit db6ac21

Browse files
committed
Restore resolvingstack even when exception is thrown.
1 parent de97e25 commit db6ac21

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

BTDB/IOC/ContainerImpl.cs

+8-2
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,14 @@ public object ResolveKeyed(object? key, Type type)
275275
};
276276
ctxImpl.RegisterLazyFactory(nestedType, lazyFactory);
277277
var backupResolvingStack = ctxImpl.BackupResolvingStack();
278-
nestedFactory = CreateFactory(ctx, nestedType, key);
279-
ctxImpl.RestoreResolvingStack(backupResolvingStack);
278+
try
279+
{
280+
nestedFactory = CreateFactory(ctx, nestedType, key);
281+
}
282+
finally
283+
{
284+
ctxImpl.RestoreResolvingStack(backupResolvingStack);
285+
}
280286
if (nestedFactory == null) return null;
281287
return lazyFactory;
282288
}

0 commit comments

Comments
 (0)