Maison > développement back-end > Problème PHP > Comment lever une exception en php7

Comment lever une exception en php7

(*-*)浩
Libérer: 2023-02-26 14:32:01
original
3927 Les gens l'ont consulté

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());
?>
Copier après la connexion

Le résultat de l'exécution du programme ci-dessus est :

Modulo by zero
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal