Обработка ошибок в загрузке
Выбрасывайте error() или redirect() из загрузки, чтобы корректно обрабатывать сбои
«Обработка ошибок в загрузке» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.
Выбрасывание ошибок
Используйте error() из @sveltejs/kit, чтобы отправить контролируемую ошибку HTTP.
import { error } from "@sveltejs/kit";
if (!post) error(404, "Post not found");Код состояния
Первый аргумент — это код состояния HTTP (404, 401, 500 и т. д.).
Сообщение об ошибке
Второй аргумент — это понятное человеку сообщение, которое отображается на страницах ошибок.
Перенаправления
Используйте redirect(), чтобы отправить пользователя на другую страницу вместо отображения ошибки.
import { redirect } from "@sveltejs/kit";
if (!session) redirect(302, "/login");Ожидаемые ошибки
Вызовы error() считаются ожидаемыми ошибками: они отображают указанное вами сообщение.
Непредвиденные ошибки
Неперехваченные исключения становятся непредвиденными ошибками. В целях безопасности их сообщения скрываются от клиентов.
Пользовательские страницы ошибок
Создайте +error.svelte в корне проекта или в отдельном маршруте, чтобы настроить интерфейс ошибок.
Восстанавливаемые ошибки
Перехватывайте ошибки внутри загрузки и возвращайте запасные данные, если постепенное ухудшение работы предпочтительнее страниц ошибок.
Обработка исключений
Заключайте потенциально опасные вызовы в конструкцию обработки исключений, чтобы корректно их обрабатывать.
try { data = await fetch(...) } catch (e) { data = []; }Состояние загрузки
Используйте потоковую передачу (возвращайте объект с данными, которые будут готовы позже), чтобы показывать состояние частичной загрузки, а не выбрасывать ошибку.
Ведение журнала
Централизованно записывайте ошибки в журнал через handleError в hooks.server.js.
Быстрая проверка
Что делает выброс error(404)?
Повторение
Используйте error() для ожидаемых сбоев, а redirect() — чтобы отправлять пользователей в другое место из загрузки.
Часто задаваемые вопросы
Урок «Обработка ошибок в загрузке» бесплатный?
Да — полный текст урока «Обработка ошибок в загрузке» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.
Чему я научусь в уроке «Обработка ошибок в загрузке»?
Выбрасывайте error() или redirect() из загрузки, чтобы корректно обрабатывать сбои Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Sveltejs Academy?
Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Обработка ошибок в загрузке»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Sveltejs Academy?
Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Функция загрузки +page.js
- Возврат данных и использование $page.data
- Обработка ошибок в загрузке
- +page.server.js для логики только на сервере