Maison > Article > développement back-end > Comment lever une exception en php7
PHP 7 change la façon dont la plupart des erreurs sont signalées. Contrairement au mécanisme traditionnel de rapport d'erreurs de PHP 5, la plupart des erreurs sont désormais générées en tant qu'exceptions d'erreur.
Cette exception d'erreur peut être interceptée par un bloc try/catch comme une exception normale. S'il n'y a pas de bloc try/catch correspondant, la fonction de gestion des exceptions (enregistrée par set_exception_handler()) est appelée pour le traitement.
Si le gestionnaire d'exceptions n'a pas été enregistré, il est traité de manière traditionnelle : il est signalé comme une erreur fatale. (Apprentissage recommandé : Tutoriel vidéo PHP)
La classe Error n'est pas étendue à partir de la classe Exception, donc un code comme catch (Exception $e) { ... } ne peut pas être intercepté en Erreur . Vous pouvez utiliser du code comme catch (Error $e) { ... } ou enregistrer un gestionnaire d'exceptions (set_exception_handler()) pour intercepter l'erreur.
Hiérarchie des exceptions d'erreur
Instance
<?php class MathOperations { protected $n = 10; // 求余数运算,除数为 0,抛出异常 public function doOperation(): string { try { $value = $this->n % 0; return $value; } catch (DivisionByZeroError $e) { return $e->getMessage(); } } } $mathOperationsObj = new MathOperations(); print($mathOperationsObj->doOperation()); ?>
Le résultat de l'exécution du programme ci-dessus est :
Modulo by zero
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!