Si une erreur survient lors de l'exécution d'une fonction PHP, Function Compute la capture et renvoie une réponse d'erreur structurée. Utilisez le corps de la réponse et l'en-tête HTTP pour identifier la cause de l'échec et déterminer la suite à donner.
Fonctionnement
L'exemple suivant lève une exception PHP standard :
<?php
function handler($event, $context) {
throw new Exception("oops");
}
Lorsque vous appelez cette fonction, Function Compute renvoie une réponse JSON similaire à ce qui suit :
{
"errorMessage": "oops",
"errorType": "Exception",
"stackTrace": {
"file": "/code/index.php",
"line": 3,
"traceString": ""
}
}
Les champs de la réponse sont les suivants :
| Champ | Description |
|---|---|
errorMessage |
Message d'exception transmis au constructeur |
errorType |
Nom de la classe d'exception PHP |
stackTrace.file |
Chemin du fichier où l'exception a été levée |
stackTrace.line |
Numéro de ligne où l'exception a été levée |
stackTrace.traceString |
Représentation sous forme de chaîne de la trace d'appels |
En plus du corps de la réponse, la réponse HTTP inclut l'en-tête X-Fc-Error-Type: UnhandledInvocationError, qui signale que l'invocation a échoué en raison d'une exception non gérée dans le code de votre fonction.
Actions à entreprendre en cas d'erreur
Si vous recevez l'en-tête X-Fc-Error-Type: UnhandledInvocationError :
Vérifiez les champs
errorMessageeterrorTypedans le corps de la réponse pour identifier l'exception.Consultez les journaux de la fonction pour obtenir la trace d'appels complète et le contexte d'exécution.
Étapes suivantes
Pour la liste complète des types d'erreurs que Function Compute peut renvoyer, consultez la section Gestion des erreurs de la rubrique Concepts de base.