Maison > Article > développement back-end > Comment obtenir une journalisation transparente des erreurs en PHP ?
Bien que error_log fournisse un moyen simple de consigner les erreurs, il manque de flexibilité et peut conduire aux problèmes de maintenance si le chemin du fichier journal doit être modifié sur plusieurs fichiers ou classes.
Pour surmonter ces limitations, envisagez d'utiliser trigger_error pour générer des erreurs et set_error_handler pour enregistrez-les. trigger_error vous permet de générer des erreurs PHP standard, tandis que set_error_handler fournit un rappel personnalisé pour gérer la journalisation des erreurs. Cette approche :
<code class="php">// Define the error handler function function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) { // Perform error handling actions, such as logging errors } // Set the custom error handler set_error_handler('errorHandler');</code>
Similaire à la gestion des erreurs, utilisez set_exception_handler pour définir une fonction de rappel pour gérer les exceptions. Les exceptions peuvent être gérées de différentes manières :
Erreurs
<code class="php">// Raise an E_USER_NOTICE error trigger_error('Disk space is low.', E_USER_NOTICE); // Raise an E_USER_ERROR fatal error trigger_error('Cannot continue due to fatal error.', E_USER_ERROR);</code>
Exceptions
Attraper et réparer :
<code class="php">try { // Code that may throw an exception } catch (Exception $e) { // Resolve the exception and continue }</code>
Ajouter et relancer :
<code class="php">try { // Code that may throw an exception } catch (Exception $e) { // Add context and re-throw throw new Exception('Additional context: ' . $context, 0, $e); }</code>
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!