From e0568fd97672778527dfc1488a5b855e7ef8838e Mon Sep 17 00:00:00 2001 From: rster20002 Date: Sun, 8 Aug 2021 16:42:31 +0200 Subject: [PATCH] Prevent one error being handled multiple times --- src/runtime/internal/Component.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/runtime/internal/Component.ts b/src/runtime/internal/Component.ts index e9e21d4b94..bded4cc8fd 100644 --- a/src/runtime/internal/Component.ts +++ b/src/runtime/internal/Component.ts @@ -121,7 +121,7 @@ export function handle_error(component, e, skip = false) { bubble_error(component, e); } - if (!skip) { + if (!skip && !e.unhandled) { component.$$.on_error.forEach(handler => { try { handler(e); @@ -136,6 +136,7 @@ function bubble_error(component, e) { if (component.$$.parent_component) { handle_error(component.$$.parent_component, e, component.$$.in_slot); } else { + e.unhandled = true; // TODO this is very gross throw e; } }