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
actions 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
4xxou5xx) - 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 utilisererrorest plus pratique avec SvelteKit.