Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Throwing an error in the browser in load results in a 500 internal error #12168

Open
MathiasWP opened this issue Apr 26, 2024 · 1 comment
Open
Labels
documentation Improvements or additions to documentation

Comments

@MathiasWP
Copy link
Contributor

Describe the bug

According to https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#server_error_responses the 500 response is used to indicate that an error has occurred on the server. This is kind of confusing when the error is thrown in the browser.

Reproduction

Link to repro: https://github.com/MathiasWP/500-internal-error-sveltekit-browser

The +page.js load method that will throw a 500 Internal Error

import { browser } from "$app/environment"

export const load = () => {
    if(browser) {
        throw new Error("Thrown on the client")
    }
    return {}
}

Logs

No response

System Info

System:
    OS: macOS 14.4.1
    CPU: (8) arm64 Apple M1 Pro
    Memory: 61.78 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.0 - ~/.nvm/versions/node/v20.11.0/bin/node
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.0/bin/npm
    pnpm: 9.0.6 - /opt/homebrew/bin/pnpm
    bun: 1.0.0 - ~/.bun/bin/bun
  Browsers:
    Brave Browser: 124.1.65.114
    Chrome: 124.0.6367.62
    Safari: 17.4.1
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.2.0 
    @sveltejs/kit: ^2.0.0 => 2.5.7 
    @sveltejs/vite-plugin-svelte: ^3.0.0 => 3.1.0 
    svelte: ^4.2.7 => 4.2.15 
    vite: ^5.0.3 => 5.2.10

Severity

annoyance

Additional Information

No response

@Conduitry Conduitry added the documentation Improvements or additions to documentation label Apr 26, 2024
@Conduitry
Copy link
Member

This is the intended behavior, but perhaps it could be documented better that +error.svelte won't just be rendered for errors that happen on the server.

Also related: #8080

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants