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.
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('test'); throw new Exception( '现在有异常了');
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 '执行第二套方案<br />' ; } } try { echo '我将于茫茫人海中访我唯一灵魂之伴侣<br />'; throw new MyException( '主人出错啦'); echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) { echo $e->getMessage(); } ?>
Les résultats de la démonstration de code sont les suivants :
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 '<hr>'; $e->demo(); }
La démonstration de code. les résultats sont les suivants :
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 '我将于茫茫人海中访我唯一灵魂之伴侣<br />'; throw new MyException( '主人出错啦'); echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) { echo '因为爱过,所以慈悲'; }catch (Exception $e){ echo '因为懂得,所以宽容'; }
Les résultats de la démonstration du code sont les suivants :
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!