Maison >développement back-end >tutoriel php >Un cours intensif de modifications de la gestion des exceptions en php 7

Un cours intensif de modifications de la gestion des exceptions en php 7

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2025-02-10 09:57:09969parcourir

A Crash Course of Changes to Exception Handling in PHP 7

Améliorations majeures de la gestion des exceptions de PHP 7

PHP 7 a apporté des améliorations significatives à la gestion des exceptions, en introduisant la classe Throwable et Error, ce qui améliore considérablement les capacités de gestion des erreurs. L'interface Throwable est l'interface de base des classes Exception et Error, permettant aux développeurs d'attraper toutes les erreurs jetables, que ce soit des exceptions ou des erreurs. La classe Error gère diverses erreurs de PHP internes, y compris les erreurs mortelles et de type, et est décomposée en quatre sous-classes: ArithmeticError, TypeError, ParseError, AssertionError et

.

A Crash Course of Changes to Exception Handling in PHP 7

Throwable Interface

L'interface Throwable Exception est l'interface parent des classes Error et

, vous permettant d'attraper des erreurs jetables, qu'il s'agisse d'une exception ou d'une erreur. Par exemple:
<code class="language-php"><?php try {
    throw new Exception("这是一个异常");
} catch (Throwable $e) {
    echo $e->getMessage();
}</code>

ParseError ou nouveau

:
<code class="language-php"><?php try {
    $result = eval("2*'7'");
} catch (Throwable $e) {
    echo $e->getMessage();
}</code>

ParseError Exécutez ce code pour obtenir un eval() parce que le point-virgule est manquant dans

.

Throwable Les classes personnalisées ne peuvent pas être implémentées directement Throwable, mais doivent étendre la classe Exception qui implémente l'interface

.

Error catégorie

Error

La classe gère les erreurs internes PHP (erreur mortelle ou erreur de type). Il a quatre sous-classes:
  1. ArithmeticError
  2. : erreur arithmétique, comme la division par zéro.
  3. TypeError
  4. : Type d'erreur, tel que l'attribution de la valeur du mauvais type à une variable.
  5. ParseError
  6. : Erreur d'analyse, comme l'erreur de syntaxe.
  7. AssertionError assert(): Erreur d'affirmation, lancé lorsque la condition dans la fonction
  8. est fausse.

Error Avant de passer à PHP 7, si une classe de personnalité

est définie, son nom doit être modifié, sinon une erreur fatale se produira.

ArithmeticError

intdiv() Cette erreur se produit lors de l'exécution des opérations mathématiques. Par exemple, utilisez

:
<code class="language-php"><?php try {
    var_dump(intdiv(PHP_INT_MIN, -1));
} catch (ArithmeticError $e) {
    echo $e->getMessage();
}</code>

obtiendra la division " de php_int_min par -1 DivisionByZeroError". ArithmeticError est une sous-classe de

et est jetée lorsqu'elle est divisée par zéro.

TypeError

Cette erreur est principalement liée à la déclaration de type scalaire dans PHP 7. Cette erreur s'affiche lorsque vous créez une fonction ou une variable d'un type de données spécifique et essayez d'enregistrer des valeurs pour différents types de données.

ParseError

eval() Cette erreur est lancée lors de l'utilisation de

pour insérer une nouvelle ligne de code ou à l'aide d'un fichier PHP externe contenant une erreur de syntaxe.

AssertionError

Cette erreur n'est lancée que lorsque l'affirmation de la fonction assert() échoue. Les instructions php.ini et assert.exception doivent être configurées dans zend.assertions pour assister à cette erreur.

Résumé

L'interface Throwable et les classes Error introduites dans PHP 7 Simplifier la gestion des exceptions et faciliter la manipulation des différents types d'erreur. Lors de la mise à niveau vers PHP 7, soyez conscient des problèmes de dénomination avec les classes Custom Error et connaissez de nouvelles erreurs et des classes étendues.

FAQS (FAQ)

  • Quels sont les principaux changements de la gestion des exceptions de PHP 7? php 7 introduit la classe d'interface Throwable et Error, et toutes les erreurs peuvent être traitées comme des exceptions et capturées avec le bloc try/catch.

  • Throwable Comment fonctionne l'interface? Throwable est l'interface de base pour toutes les exceptions, implémentées par Exception et Error.

  • Error Quelle est la fonction de la classe? Error La classe est utilisée pour gérer les erreurs de PHP internes.

  • Comment gérer les exceptions dans PHP 7? Utilisez le bloc try/catch pour capturer les objets Throwable, Exception et Error.

  • Quelle est la différence entre

    Exception et Error? Exception pour les exceptions traditionnelles, Error pour les erreurs de PHP internes.

  • Comment lancer une exception dans PHP 7? Utilisez le mot-clé throw.

  • Comment créer une exception personnalisée dans PHP 7? Extendez Exception Classe.

  • finally Quelle est la fonction des mots clés? Le code du bloc finally sera exécuté, que l'exception soit lancée ou non.

  • Comment remédier à une exception dans PHP 7? Utilisez le mot-clé catch dans le bloc throw.

  • Comment gérer plusieurs exceptions dans PHP 7? Inclure plusieurs blocs try/catch dans l'instruction catch.

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