Skip to content

Commit 5256e49

Browse files
committed
WIP
1 parent 4c33df2 commit 5256e49

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

packages/svelte/src/internal/client/error-handling.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ function should_rethrow_error(effect) {
7777
* @param {Error} error
7878
* @param {Effect} effect
7979
*/
80-
function adjust_error(error, effect) {
80+
export function adjust_error(error, effect) {
8181
if (adjusted_errors.has(error)) return;
8282
adjusted_errors.add(error);
8383

packages/svelte/src/internal/client/runtime.js

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import {
4040
set_component_context,
4141
set_dev_current_component_function
4242
} from './context.js';
43-
import { handle_error, invoke_error_boundary } from './error-handling.js';
43+
import { adjust_error, handle_error, invoke_error_boundary } from './error-handling.js';
4444

4545
let is_flushing = false;
4646

@@ -345,18 +345,17 @@ export function update_reaction(reaction) {
345345

346346
return result;
347347
} catch (error) {
348-
// TODO think we can just use active_effect here?
349-
var effect = get_effect(reaction);
350-
351-
if (effect) {
352-
if ((effect.f & EFFECT_RAN) !== 0) {
353-
invoke_error_boundary(error, effect);
354-
} else if ((effect.f & BOUNDARY_EFFECT) !== 0) {
355-
// invoke directly
356-
effect.fn(error);
357-
} else {
358-
throw error;
359-
}
348+
var effect = /** @type {Effect} */ (active_effect);
349+
350+
if (DEV && error instanceof Error) {
351+
adjust_error(error, effect);
352+
}
353+
354+
if ((effect.f & EFFECT_RAN) !== 0) {
355+
invoke_error_boundary(error, effect);
356+
} else if ((effect.f & BOUNDARY_EFFECT) !== 0) {
357+
// invoke directly
358+
effect.fn(error);
360359
} else {
361360
throw error;
362361
}

0 commit comments

Comments
 (0)