Gestion d'erreurs - PHP - Programmation
Marsh Posté le 19-03-2007 à 21:55:15
did-54 a écrit : Bonjour, |
Car les fonction mysql_* ne génère pas d'exception. Il faut tester leur code de routeur et lancer l'exception en concéquence
Sinon, utilise PDO
Marsh Posté le 20-03-2007 à 02:39:36
Pour cacher les erreurs tu met "@" devant ta variable
Bien sûr ça ne résoud pas le bug, ça le cache juste ^^.
Marsh Posté le 20-03-2007 à 09:07:27
et y'a aucun autre moyen ? (je parle du test de valeur de retour évidemment ) Je veux dire c'est LA best-practice ?
Marsh Posté le 20-03-2007 à 09:16:02
tu peux te servir de mysql_error et mysql_errno pour récupérer les codes d'erreur renvoyés par mysql
Marsh Posté le 20-03-2007 à 10:45:31
Ben si tu veux pas que les warnings incongrus se voient, error_reporting(0) sur ton site publié/en prod. Tu peux te démerder pour faire un système qui loggue les éventuelles erreurs MySQL (mysql_error) dans un fichier par exemple, sans que ça les affiche au client. Tu peux aussi au passage te faire ton propre handler d'erreurs qui va logger de la même façon toute error/warning/notice (set_error_handler).
Par contre en dév, tu laisses error_reporting(E_ALL | E_STRICT) qui t'avertit directement de tout (et le faire plutôt dans php.ini directement, tant qu'à faire).
Le mieux reste de se faire sa propre classe (ou son propre jeu de fonctions au moins) qui gère tout ça, avec un flag booléen quelque part genre DEBUG qui permet de savoir si t'es en mode dév ou en mode prod.
Marsh Posté le 20-03-2007 à 10:54:32
Pour moi ce qu'il faut faire :
utiliser des trigger_error, afin de pouvoir générer des erreurs à partir de défauts habituels exemple :
Code :
|
Ensuite gérer les erreurs en direct quand le site est en phase de test, sinon gérer les erreurs via un log et/ou via l'envois d'email à l'admin en phase de production.
Code :
|
vla une fonction qu eje me suis fait, et que j'utilise pour configurer la gestion des erreurs.
Note : J'utilise aussi les PDO donc je récupére les exceptions via try / catch, et je les renvois vers l'utilisateur avec un trigger_error.
Je ne sais pas si c'est l'idéal, mais c'est comme ça que je fait
Marsh Posté le 19-03-2007 à 20:26:08
Bonjour,
Une petite question aux spécialistes : Je développe un site sans aucune prétention en php/MySQL.
Je voudrais faire une gestion des erreurs assez efficace, c'est-à-dire éviter de voir apparaitre des erreurs PHP dans ma page quand tout va mal, ou du moins gérer les cas où ca plante.
En particulier, si ma requête mysql se vautre, j'ai essayé de gérer ca via un try/catch, mais ca ne fonctionne pas... (je suis sous php 5).
J'aimerais savoir comment les pros s'y prennent, si vous avez des conseils
Merci d'avance