Maison  >  Article  >  développement back-end  >  Gestion des exceptions PHP : comprendre les propriétés et les méthodes des objets d'exception

Gestion des exceptions PHP : comprendre les propriétés et les méthodes des objets d'exception

PHPz
PHPzoriginal
2024-06-05 09:15:57234parcourir

L'objet d'exception PHP fournit des informations importantes sur les exceptions. Ses propriétés incluent : le message d'erreur (getMessage()), le code d'erreur (getCode()), le chemin du fichier d'exception (getFile()), le numéro de ligne du fichier d'exception (getLine()) et l'exception précédente (getPrevious()). Ses méthodes incluent : convertir en chaîne (__toString()), obtenir la pile d'appels (getTrace(), getTraceAsString()).

Gestion des exceptions PHP : comprendre les propriétés et les méthodes des objets dexception

Gestion des exceptions PHP : comprendre les propriétés et les méthodes des objets d'exception

En PHP, les objets d'exception fournissent des informations importantes sur les événements d'exception. En accédant aux propriétés et aux méthodes de l'objet d'exception, les développeurs peuvent obtenir des informations détaillées sur le type d'erreur, le message d'erreur et la trace de la pile d'exceptions.

Properties

  • getMessage() : Renvoie le message d'exception.
  • getCode() : Renvoie le code d'exception (le cas échéant).
  • getFile() : Renvoie le chemin du fichier où l'exception s'est produite.
  • getLine() : Renvoie le numéro de ligne du fichier où l'exception s'est produite.
  • getPrevious() : Renvoie l'exception précédente (le cas échéant) qui a provoqué l'exception actuelle.

Méthode

  • __toString() : Renvoie la représentation sous forme de chaîne de l'objet d'exception, y compris le message, le fichier et le numéro de ligne.
  • getTrace() : Renvoie un tableau contenant les détails de la pile d'appels.
  • getTraceAsString() : Renvoie une représentation sous forme de chaîne de la pile d'appels.

Cas pratique

L'exemple de code suivant montre comment utiliser les propriétés et méthodes des objets d'exception :

<?php

try {
    throw new Exception('自定义异常');
} catch (Exception $e) {
    echo '异常消息:' . $e->getMessage() . PHP_EOL;
    echo '异常代码:' . $e->getCode() . PHP_EOL;
    echo '异常文件:' . $e->getFile() . PHP_EOL;
    echo '异常行号:' . $e->getLine() . PHP_EOL;

    $trace = $e->getTrace();
    echo '调用堆栈:' . PHP_EOL;
    foreach ($trace as $item) {
        echo '    方法:' . $item['function'] . PHP_EOL;
        echo '    文件:' . $item['file'] . PHP_EOL;
        echo '    行号:' . $item['line'] . PHP_EOL;
    }
}
?>

Sortie :

异常消息:自定义异常
异常代码:0
异常文件:test.php
异常行号:10
调用堆栈:
    方法:main
    文件:test.php
    行号:15

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