diff --git a/packages/reactivity/src/effect.ts b/packages/reactivity/src/effect.ts index 90db99cf7..e361e8540 100644 --- a/packages/reactivity/src/effect.ts +++ b/packages/reactivity/src/effect.ts @@ -375,12 +375,13 @@ export function refreshComputed(computed: ComputedRefImpl) { } } catch (err) { dep.version++ + throw err + } finally { + activeSub = prevSub + shouldTrack = prevShouldTrack + cleanupDeps(computed) + computed.flags &= ~EffectFlags.RUNNING } - - activeSub = prevSub - shouldTrack = prevShouldTrack - cleanupDeps(computed) - computed.flags &= ~EffectFlags.RUNNING } function removeSub(link: Link) {