PHP set_error_handler() funktion
Eksempel
Indstil brugerdefineret fejlhåndteringsprogram ved hjælp af set_error_handler() funktion, og udløs derefter en fejl (ved hjælp af trigger_error()):
<?php // brugerdefineret fejlhåndteringsfunktion function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Brugerdefineret fejl:</b> [$errno] $errstr<br>"; echo " Fejl på linje $errline i $errfile<br>"; } // opsæt brugerdefineret fejlhåndteringsfunktion set_error_handler("myErrorHandler"); $test=2; // Udløs fejl if ($test>1) { trigger_error("A brugerdefineret fejl er blevet udløst"); } ?>
Udskriften fra ovenstående kode ligner dette:
Brugerdefineret fejl: [1024] En brugerdefineret fejl er blevet udløst Fejl på linje 14 i C:\webfolder\test.php
Definition og brug
set_error_handler() funktionen sætter brugerdefinerede fejlhåndteringsfunktioner.
Kommentarer:Hvis denne funktion bruges, vil den omgå standard PHP-fejlhåndtering, og brugerdefinerede fejlprogrammer vil, hvis nødvendigt, afslutte skriptet med die().
Kommentarer:Hvis en fejl opstår før skriptets udførelse (f.eks. under filupload), vil den brugerdefinerede fejlhåndteringsfunktion ikke blive kaldt, fordi den endnu ikke er registreret på det tidspunkt.
Syntaks
set_error_handler(errorhandler,E_ALL|E_STRICT);
Parametre | Beskrivelse |
---|---|
errorhandler | Obligatorisk. Angiver navnet på brugerdefinerede fejlhåndteringsfunktioner. |
E_ALL|E_STRICT | Valgfri. Angiver, hvilken fejlrapportningsniveau, der skal vises, som brugerdefinerede fejl. Standard er "E_ALL". |
Tekniske detaljer
Returværdi: | En streng, der indeholder tidligere definerede fejlhåndteringsprogrammer. |
---|---|
PHP version: | 4.0.1+ |
PHP opdateringslog: |
PHP 5.5: Parametre errorhandler Accepterer nu NULL PHP 5.2: Fejlhåndteringsprogrammer skal returnere FALSE for at vise $php_errormsg. |