Skip to main content
Les erreurs ne sont pas un cas marginal. Dans une app réelle, vous devez prévoir :
  • l’indisponibilité du modèle
  • les prompts concurrents
  • les réponses structurées qui échouent à se décoder
  • les refus ou blocages de sécurité
  • les erreurs de vos tools

Les erreurs les plus utiles à connaître


Un pattern de base en SwiftUI


Guardrails : ce que ça implique pour l’UI

Les guardrails sont intégrés au modèle. Vous ne définissez pas vos propres règles, mais Apple expose tout de même des profils prêts à l’emploi.
.default reste le choix normal. .permissiveContentTransformations vise surtout les cas où vous transformez un texte fourni par l’utilisateur, même si ce texte peut contenir du contenu sensible. Côté produit, cela signifie :
  • ne promettez pas que le modèle répondra à tout
  • prévoyez un message de reformulation
  • évitez d’afficher des erreurs techniques brutes
Le bon message utilisateur ressemble souvent à :

refusal n’est pas toujours une erreur spectaculaire

Parfois le modèle lève une erreur. Parfois il produit simplement une réponse de refus. Dans les deux cas, votre app doit rester compréhensible. Ne basez pas toute votre stratégie uniquement sur une exception.

Gérer les erreurs de tools

Quand un tool échoue, vous pouvez récupérer un ToolCallError.
L’intérêt de ToolCallError est qu’il vous donne deux informations utiles :
  • tool pour savoir quelle capacité a échoué
  • underlyingError pour garder la vraie cause technique
Si votre tool parle à une base locale ou à un backend, fournissez des erreurs métier lisibles avec LocalizedError.

Ce qu’il faut faire dans l’app

  • bloquer les doubles envois avec isResponding
  • différencier erreur technique et message utilisateur
  • réinitialiser la session si le contexte devient trop long
  • prévoir un fallback si le modèle n’est pas disponible
Une bonne gestion d’erreur protège autant la stabilité de l’UI que la perception de qualité.

Streaming & UX

Voir comment intégrer la génération dans l’interface.

Patterns d'architecture

Choisir les bons patterns dès le départ.