Вспомогательные функции error() и redirect()
Выбрасывайте типизированные ошибки и выполняйте перенаправления из функций загрузки и действий
«Вспомогательные функции error() и redirect()» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.
Две встроенные вспомогательные функции
error() и redirect() из @sveltejs/kit обрабатывают две основные ветви взаимодействия с пользователем.
Вспомогательная функция ошибки
Вызывает структурированную ошибку со статусом и сообщением.
import { error } from "@sveltejs/kit";
error(404, "Not found");Вспомогательная функция перенаправления
Перенаправляет пользователя на другой URL со статусом 3xx.
import { redirect } from "@sveltejs/kit";
redirect(303, "/login");Коды состояния перенаправления
301 — постоянное перенаправление, 302 — временное, 303 — «см. другой ресурс» (часто после POST), 307/308 — с сохранением метода.
Использование при загрузке
Вызывайте её внутри функции загрузки, чтобы перенаправить пользователя до отображения страницы.
if (!session) redirect(303, "/login");Использование в действиях
Действия формы могут выполнять перенаправление после успешной обработки.
Шаблон с вызовом исключения
Обе вспомогательные функции вызывают исключение, поэтому последующий код недостижим. TypeScript корректно уточняет типы.
Никогда не перехватывайте их
Не заключайте эти вызовы в try/catch — позвольте SvelteKit обработать их.
Статусы 401 и 403
Используйте 401, если пользователь не прошёл аутентификацию, и 403, если он аутентифицирован, но не имеет разрешения.
Объединение с URL
Создавайте адреса с помощью конструктора URL для безопасного кодирования.
redirect(303, `/login?next=${encodeURIComponent(url.pathname)}`);Практическое применение
Потоки аутентификации, перенаправление устаревших адресов, обработка отсутствующих ресурсов.
Быстрая проверка
Зачем использовать redirect(), а не return?
Итоги
Используйте error() для сбоев, а redirect() — для навигации. Обе функции вызывают исключение и прекращают выполнение последующего кода.
Часто задаваемые вопросы
Урок «Вспомогательные функции error() и redirect()» бесплатный?
Да — полный текст урока «Вспомогательные функции error() и redirect()» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.
Чему я научусь в уроке «Вспомогательные функции error() и redirect()»?
Выбрасывайте типизированные ошибки и выполняйте перенаправления из функций загрузки и действий Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Sveltejs Academy?
Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Вспомогательные функции error() и redirect()»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Sveltejs Academy?
Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- +error.svelte для пользовательских страниц ошибок
- Ожидаемые и неожиданные ошибки
- Вспомогательные функции error() и redirect()
- Страницы ошибок во вложенных макетах