Maison  >  Article  >  développement back-end  >  Comment lever une exception en php7

Comment lever une exception en php7

(*-*)浩
(*-*)浩original
2019-10-14 10:32:353837parcourir

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.

Comment lever une exception en php7

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

Comment lever une exception en php7

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!

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