Неожиданная «внутренняя ошибка» при доступе к моей авторизованной панели управления пользователем после входа в систему

Я сталкиваюсь с непредвиденной ошибкой в ​​приложении SvelteKit при попытке доступа к маршруту /account при входе в систему или иногда при обновлении страницы.

Эта ошибка возникает не каждый раз, и мне трудно понять, что делать, из-за общего ответа. Сообщение об ошибке представляет собой общую «Внутреннюю ошибку», которая является стандартной для любой непредвиденной ошибки sveltekit.

https://www.skanfarming.com.au/account

Error: { "message": "Internal Error" }

Error
    at ae (https://www.skanfarming.com.au/_app/immutable/nodes/1.93df4267.js:1:2399)
    at bt (https://www.skanfarming.com.au/_app/immutable/chunks/index.bb96de48.js:4:2893)
    at new ie (https://www.skanfarming.com.au/_app/immutable/nodes/1.93df4267.js:1:2507)
    at Xt (https://www.skanfarming.com.au/_app/immutable/chunks/scheduler.2895a0cd.js:1:8225)
    at Array.ot (https://www.skanfarming.com.au/_app/immutable/entry/app.17894691.js:1:1680)
    at Array.dt (https://www.skanfarming.com.au/_app/immutable/entry/app.17894691.js:1:6697)
    at bt (https://www.skanfarming.com.au/_app/immutable/chunks/scheduler.2895a0cd.js:1:950)
    at Qt (https://www.skanfarming.com.au/_app/immutable/nodes/0.eda2fa4d.js:3:8435)
    at bt (https://www.skanfarming.com.au/_app/immutable/chunks/index.bb96de48.js:4:3093)
    at new ie (https://www.skanfarming.com.au/_app/immutable/nodes/0.eda2fa4d.js:3:9357)

Действия по воспроизведению:

Войдите в приложение. После успешного входа в систему приложение автоматически перенаправляется на маршрут /account. «Внутренняя ошибка» иногда возникает особенно часто при первом или новом входе в систему, а сведения об ошибке записываются в консоль.

Если после этого я снова войду в систему, у меня не возникнет никаких проблем, и все будет загружаться как положено.

Что я пробовал:

Я попытался добавить инструкции отладки (console.info) в серверный код, но не смог определить точное местонахождение ошибки.

Среда:

"svelte": "^4.2.18", "@sveltejs/kit": "^1.30.4", Версия Node.js: v20.11.0,

Браузер: Chrome и другие современные браузеры.

Я действительно застрял в попытках продвинуться в отладке ошибок этого типа, так как не знаю, куда мне следует идти для расследования.

Вопросы:

Как я могу получить более подробную информацию об ошибке и определить ее первопричину?

Существуют ли какие-либо конкретные методы обработки ошибок SvelteKit или лучшие практики, которые могут помочь в этой ситуации?

Каковы некоторые распространенные причины непредвиденных «внутренних ошибок» в приложениях SvelteKit и как их устранить?

Существуют ли какие-либо дополнительные шаги или инструменты отладки, которые я могу использовать, чтобы определить источник ошибки?

Будем очень признательны за любые рекомендации или предложения о том, как справиться с этой ситуацией. Заранее спасибо!

«Внутренняя ошибка» крайне расплывчата и ни о чем нам не говорит. Пожалуйста, опубликуйте код, чтобы мы могли посмотреть и помочь вам.

DontAsk_ 24.06.2024 13:42

Эй, спасибо за ответ, я согласен, что это очень расплывчато, но именно так svelte справляется с любой из этих неожиданных ошибок. Это из документации: Неожиданные ошибки: Непредвиденная ошибка — это любое другое исключение, возникающее при обработке запроса. Поскольку они могут содержать конфиденциальную информацию, неожиданные сообщения об ошибках и трассировки стека не доступны пользователям. kit.svelte.dev/docs/errors#unexpected-errors Я бы хотел опубликовать больше кода или информации о нем, но не знаю, что публиковать. Эта трассировка стека — это все, что у меня есть.

Lucho 25.06.2024 13:29
Знайте свои исключения!
Знайте свои исключения!
В Java исключение - это событие, возникающее во время выполнения программы, которое нарушает нормальный ход выполнения инструкций программы. Когда...
1
2
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эта ссылка, которую вы разместили в своем ответе, также ведет на другую страницу, посвященную фиксации этих ошибок с использованием «handleError» в вашем hooks.server.ts

Я сам использую это для регистрации ошибок в базе данных, но вы также можете просто console.info() сообщить об ошибке, чтобы получить «настоящую» ошибку.

export async function handleError({ error }) {
    console.info(error.stack)
};

Без этого вы просто увидите 500 | Сообщение о внутренней ошибке на стороне клиента и ничего в консоли сервера

Однако с его помощью вы увидите стек ошибок на консоли сервера.

Вот пример, если у меня нет синтаксически правильного +page.server.js. Ошибка находится в +page.server.js в строке 4.

Я предполагаю, что причиной этого обычно являются синтаксические ошибки, ИЛИ, если вы вручную выдаете ошибки типа throw new Error('message')

ReferenceError: badType is not defined
    at load (/src/routes/+page.server.js:4:2)
    at Module.load_server_data (/node_modules/@sveltejs/kit/src/runtime/server/page/load_data.js:49:42)
    at eval (/node_modules/@sveltejs/kit/src/runtime/server/page/index.js:150:41)

Спасибо, я настроил его для отправки ответов об ошибках в мою базу данных сейчас, а также для генерации и отображения идентификатора ошибки на стороне клиента, чтобы я мог сопоставить его с реальной ошибкой в ​​​​базе данных.

Lucho 28.06.2024 09:30

Другие вопросы по теме

Похожие вопросы