Essayez de l'Attraper avec PHP avertissements
Est-il possible de faire une sorte de try catch qui va attraper les avertissements?
par exemple
if (!$dom->loadHTMLFile($url)) {
//if cant load file handle error my way
}
Pour la $url
je suis aide, je suis
Warning (2): DOMDocument::loadHTMLFile(MYURL) [domdocument.loadhtmlfile]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
[APP\controllers\import_controller.php, line 62]
Warning (2): DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: I/O warning : failed to load external entity "hMYURL" [APP\controllers\import_controller.php, line 62]
Seulement je pouvais supprimer l'erreur, et de faire quelque chose si l'appel renvoie faux, mais je veux pouvoir attraper l'exact du message d'avertissement, puis faire quelque chose avec elle.
Est-ce possible?
Grâce
double possible de try et catch php warning
OriginalL'auteur Lizard | 2010-07-23
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
libxml_use_internal_errors
pour cela.Cet exemple est adapté de la notice:
Pas de PHP avis sera émis ici.
OriginalL'auteur Artefacto
Probablement vous êtes à la recherche pour cette
cela permettra de faire de cette sortie:
Lire plus
OriginalL'auteur Ehsan
Vous pourriez être en mesure d'utiliser un gestionnaire d'erreur personnalisé mais je ne suis pas complètement sûr que si les mises en garde que vous obtenez peut être manipulé. Certaines des erreurs ou des avertissements pourront toujours utiliser le gestionnaire d'erreurs par défaut. Mais il suffit de l'essayer.
OriginalL'auteur 2ndkauboy
Je viens de trouver une solution très intéressante à http://bytes.com/topic/php/answers/6296-catch-warnings:
D'abord indiquer à PHP pour suivre toutes les erreurs:
Cela met tous les messages d'erreur (incl. mises en garde) dans la variable
$php_errormsg
(voir http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors).Ensuite, vous pouvez intercepter les erreurs et les avertissements comme ceci:
OriginalL'auteur Robert