2. Erreurs
Il est à peu près inévitable que vous ayez affaire à des erreurs dans votre application. Nous avons déjà vu comment afficher des pages d'erreurs lorsqu'une page est introuvable (erreur 404), ou lorsqu'une erreur inattendue se produit sur le serveur (erreur 500).
Mais vous pouvez aussi vous-même décider que quelque n'est pas correct, et afficher une page d'erreur.
Erreurs attendues
Si vous décidez que quelque chose ne va pas sur le serveur, vous pouvez utiliser l'utilitaire
error
du module @sveltejs/kit
. Vous pouvez utiliser error
dans les fonctions load
ou les
action
s des fichiers +page.server.ts
, ou dans les fonctions de endpoint des fichiers
+server.ts
.
// +page.server.ts de la route /article par exemple
import { redirect } from '@sveltejs/kit';
export function load() {
// on suppose qu'on récupère des données dans la variable `article`
if (!article) {
error(404, { message: 'Aucune donnée sur cette page' });
}
return {};
}
Vous devez fournir 2 choses à redirect
:
- un code d'erreur (généralement
4xx
ou5xx
) - un objet de données comprenant au minimum le champ
message
Utiliser
error()
revient à utiliserthrow
. Vous pourriez aussi arriver au même résultat avec unthrow
, mais utilisererror
est plus pratique avec SvelteKit.