PHP : équivalent d'un try catch ?

PHP : équivalent d'un try catch ? - PHP - Programmation

Marsh Posté le 23-11-2005 à 10:44:18    

Salut.
 
Je cherche en PHP une fonctionnalité équivalente au "try {} catch () {}" que l'on peut voir dans pas mal de languages.
 
Il s'agit d'un projet de robot qui récupère des pages web directement avec la fonction "file" et parfois il se tappe des erreurs "http ,request failed", au lieu que ca plante tout j'aimerai pouvoir reessayer ou passer a la suivante, de manière propre.

Reply

Marsh Posté le 23-11-2005 à 10:44:18   

Reply

Marsh Posté le 23-11-2005 à 10:51:23    

:o  
 

Code :
  1. if (!$fp = fopen("http://www.jauraipuchercher3sec.com","r" ))
  2. {
  3.    echo "Echec de l'ouverture du fichier";
  4.    exit;
  5. }


Reply

Marsh Posté le 23-11-2005 à 10:56:27    

Code :
  1. fopen("http://www.jauraipuchercher3sec.com","r" ) or die("echec" );

Reply

Marsh Posté le 23-11-2005 à 12:41:00    

merci, je vais tester ca
 
putaing chuis trop bête j'avai même pas pensé a ces structures :pt1cable: fatigue, gueule de bois... :D

Reply

Marsh Posté le 23-11-2005 à 15:35:51    

ah bah non en fait ca marche pas :D l'erreur gueule de la même facon
 
est ce que ca peut venir de la présence d'un errormanager qui ferai que le if (!...) soit "inactif" ?

Reply

Marsh Posté le 23-11-2005 à 16:07:37    

Koyomi a écrit :

:o  
 

Code :
  1. if (!$fp = fopen("http://www.jauraipuchercher3sec.com","r" ))
  2. {
  3.    echo "Echec de l'ouverture du fichier";
  4.    exit;
  5. }


heu, ça gère l'erreur mais ce n'est pas du try/catch
 
 
dans ton cas tu as juste à ajouter un @ devant fopen, mais ça n'a rien à voir avec un vrai try catch à la manière de java
 

Reply

Marsh Posté le 23-11-2005 à 20:15:55    

soju a écrit :

heu, ça gère l'erreur mais ce n'est pas du try/catch
 
 
dans ton cas tu as juste à ajouter un @ devant fopen, mais ça n'a rien à voir avec un vrai try catch à la manière de java


 
en fait c'est pas un fopen mais un file("blabla" ), je vais essayer avec le "@" demain mais je me demande si ca marchera en fait je sais pas trop comment se comporte le "@" au niveau des valeurs de retour des fonctions (en loccurence un array)


Message édité par Profil supprimé le 23-11-2005 à 20:16:57
Reply

Marsh Posté le 23-11-2005 à 20:21:03    

Faut pas utiliser "@", ça sert juste à dégager les erreurs, c'est le mal [:pingouino]
 
C'est la version PHP du "on error resume next" vb [:pingouino]

Message cité 1 fois
Message édité par masklinn le 23-11-2005 à 20:21:23

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-11-2005 à 20:42:31    

tu fais comment alors pour les fonctions qui renvoient une erreur que tu ne peux pas catcher ?

Reply

Marsh Posté le 23-11-2005 à 20:42:31   

Reply

Marsh Posté le 23-11-2005 à 20:46:52    

Tu changes le niveau de error_reporting quand le machin passe en prod :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-11-2005 à 20:54:51    

arf ouais... donc tu ne gères pas non plus l'erreur :p

Reply

Marsh Posté le 23-11-2005 à 22:58:02    

masklinn a écrit :

Faut pas utiliser "@", ça sert juste à dégager les erreurs, c'est le mal [:pingouino]
 
C'est la version PHP du "on error resume next" vb [:pingouino]


dans le cas de mon robot c'est pas grave ca fera juste qq pages ignorées parmis des millions... :)

Reply

Marsh Posté le 23-11-2005 à 23:03:29    

masklinn a écrit :

Tu changes le niveau de error_reporting quand le machin passe en prod :o


pas con si mes souvenirs sont bons y'a une fonction qui permet de changer ca a la volée, je peut essayer de le mettre en mode bourrin juste quand ca dl les pages et le remettre en normal le reste du temps

Reply

Marsh Posté le 23-11-2005 à 23:14:51    

Ben ouais, puis ça tombe vachement bien parce que la fonction s'appelle justement "error_reporting" :o
 
(enfin bon, pour faire un robot je dois dire que le PHP ne serait pas mon langage de choix, il a pas trop été pensé pour ce genre de trucs [:pingouino])


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed