Maison >développement back-end >Problème PHP >Qu'est-ce qu'une classe de gestion des exceptions personnalisée en PHP ? Comment résoudre la classe de gestion des exceptions personnalisée ?

Qu'est-ce qu'une classe de gestion des exceptions personnalisée en PHP ? Comment résoudre la classe de gestion des exceptions personnalisée ?

慕斯
慕斯original
2021-06-21 16:15:141768parcourir

L'article précédent vous a présenté "Qu'est-ce que la gestion des exceptions en PHP ? Comment utiliser try-catch dans la gestion des exceptions ? 》, cet article continue de vous présenter qu'est-ce qu'une classe de gestion d'exceptions personnalisée en PHP ? Comment pouvons-nous résoudre la classe de gestion des exceptions personnalisée ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Qu'est-ce qu'une classe de gestion des exceptions personnalisée en PHP ? Comment résoudre la classe de gestion des exceptions personnalisée ?

Classe de gestion des exceptions personnalisée :

final :Si elle est utilisée pour modifier la classe, elle représente ceci La classe ne peut pas être héritée. Si elle est utilisée pour modifier une méthode, cela signifie que cette méthode ne peut pas être remplacée

Pour hériter de la classe officielle de gestion des exceptions, la méthode peut être ajoutée par vous-même. la méthode de la classe parent peut être remplacée.

[Note] S'il y a plusieurs captures, écrivez la classe d'exception personnalisée ci-dessus et la classe d'exception officielle ci-dessous

Nesting : En essayant, vous pouvez créer un try

fonction de gestion des exceptions personnalisée (comprendre)

set_exception_ handler('test') ;

Enregistrer une fonction Lorsqu'une exception est levée, elle sera automatiquement interceptée par cette fonction, = La fonction en a une. paramètre, et le paramètre est l'objet d'exception

Prenons le code comme exemple :

<?php
function test($e)
{
echo $e->getMessage();
}
set_exception_handler(&#39;test&#39;);
throw new Exception( &#39;现在有异常了&#39;);

Quest-ce quune classe de gestion des exceptions personnalisée en PHP ? Comment résoudre la classe de gestion des exceptions personnalisée ?

Concernant la classe de gestion des exceptions, nous utilisons toujours le code Laissez-moi vous expliquer le formulaire. Tout d'abord, nous devons encore créer un nouveau fichier. Nous devons hériter de la classe officielle de gestion des exceptions. Ensuite, nous définissons une méthode (fonction) dans la classe. exécutez le code via try. À ce moment-là, nous pouvons utiliser catch pour l'attraper via notre propre classe de gestion des exceptions. Notre démonstration de code est la suivante :

<?php
class MyException extends Exception
{
function demo( )
{
  echo &#39;执行第二套方案<br />&#39; ;
}
}
try {
  echo &#39;我将于茫茫人海中访我唯一灵魂之伴侣<br />&#39;;
  throw new MyException( &#39;主人出错啦&#39;);
  echo &#39;得之,我幸;不得,我命<br />&#39;;
} catch (MyException $e) {
  echo $e->getMessage();
}
?>

Les résultats de la démonstration de code sont les suivants :

Quest-ce quune classe de gestion des exceptions personnalisée en PHP ? Comment résoudre la classe de gestion des exceptions personnalisée ?

Ce qui suit est notre propre classe de gestion des exceptions définie. S'il y a une erreur d'exécution, nous pouvons l'exécuter. Le deuxième ensemble de méthodes,

catch (MyException $e) {
  echo $e->getMessage();
  echo &#39;<hr>&#39;;
  $e->demo();
}

La démonstration de code. les résultats sont les suivants :

Quest-ce quune classe de gestion des exceptions personnalisée en PHP ? Comment résoudre la classe de gestion des exceptions personnalisée ?

C'est la classe de gestion des exceptions que nous avons nous-mêmes définie

Copions le code tout à l'heure, et découvrons quel catch peut ; attraper l'exception. Le code est le suivant :

try {
  echo &#39;我将于茫茫人海中访我唯一灵魂之伴侣<br />&#39;;
  throw new MyException( &#39;主人出错啦&#39;);
  echo &#39;得之,我幸;不得,我命<br />&#39;;
} catch (MyException $e) {
  echo &#39;因为爱过,所以慈悲&#39;;
}catch (Exception $e){
  echo &#39;因为懂得,所以宽容&#39;;
}

Les résultats de la démonstration du code sont les suivants :

Quest-ce quune classe de gestion des exceptions personnalisée en PHP ? Comment résoudre la classe de gestion des exceptions personnalisée ?

D'après le code, on peut voir que le exception capturée est notre classe de gestion des exceptions personnalisée pour capturer cet objet Si nous combinons MyException et Exception Que se passerait-il si l'ordre était modifié ? Lorsque nous l'exécuterons, nous constaterons que c'est toujours la première,

Remarque : Exception est une classe officielle, c'est une classe parent, c'est une classe parent de MyException, s'ils sont les deux en même temps Lors de la détection des exceptions, nous devons mettre la sous-classe en premier, puis écrire la classe officielle

Apprentissage recommandé : Tutoriel vidéo php

.

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