Maison >cadre php >YII >Comment gérer les erreurs dans le framework Yii

Comment gérer les erreurs dans le framework Yii

(*-*)浩
(*-*)浩original
2020-01-08 15:24:172495parcourir

Comment gérer les erreurs dans le framework Yii

Yii a un gestionnaire d'erreurs intégré, ce qui rend la gestion des erreurs plus pratique. Le gestionnaire d'erreurs Yii fait ce qui suit pour améliorer l'effet de gestion des erreurs  :

Toutes les erreurs PHP non fatales (telles que les avertissements, les invites) seront converties en exceptions pouvant être obtenues ; >Les exceptions et les erreurs PHP fatales seront affichées, et les piles d'appels de fonctions détaillées et les numéros de ligne du code source seront affichés. en mode débogage. Prend en charge l'utilisation d'actions de contrôleur dédiées pour afficher les erreurs ;

Prend en charge différents formats de réponse d'erreur

gestionnaire d'erreurs Le gestionnaire d'erreurs est activé par défaut et peut être transmis ; Définissez la constante YII_ENABLE_ERROR_HANDLER dans le script d'entrée de l'application pour la désactiver.

Utiliser le gestionnaire d'erreurs

le gestionnaire d'erreurs est enregistré en tant que composant d'application nommé errorHandler, qui peut être configuré dans la configuration de l'application comme suit :

return [
    'components' => [
        'errorHandler' => [
            'maxSourceLines' => 20,
        ],
    ],
];

En utilisant le code ci-dessus, la page d'exception affichera jusqu'à 20 codes sources.

Comme mentionné précédemment, le gestionnaire d'erreurs convertit toutes les erreurs PHP non fatales en exceptions capturables, ce qui signifie que vous pouvez utiliser le code suivant pour gérer les erreurs PHP :

use Yii;
use yii\base\ErrorException;
try {
    10/0;
} catch (ErrorException $e) {
    Yii::warning("Division by zero.");
}
// execution continues...

Si vous souhaitez afficher une page d'erreur indiquant à l'utilisateur que la requête n'est pas valide ou ne peut pas être traitée, lancez simplement une exception HTTP telle que yiiwebNotFoundHttpException.

Le gestionnaire d'erreurs définira correctement le code d'état HTTP de la réponse et utilisera la page d'affichage des erreurs appropriée pour afficher le message d'erreur.

use yii\web\NotFoundHttpException;
throw new NotFoundHttpException();

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn