Test sur"list" et "explode"?

El_Diablo666 Messages postés 294 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 décembre 2012 - 14 déc. 2007 à 16:03
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 - 14 déc. 2007 à 23:16
salut a tous,

J'ai un script qui traite un fichier .txt, mon problém c k si le fichier ne contient pas les information attendu dans le script il me sort des message d'erreur:

Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65

Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65

Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65

Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65

Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65

Accusés:
336
Erreurs:
0
Moyenne Erreurs: 0%
Début: 12/14/07 15:56:39 - Fin: 12/14/07 15:56:39 - Durée: 0 Minutes

Le script ne bug pas et continue son execution (ca c'est bien) mais se qui me dérange c'est les message d'erreur!! voila la parti qui nous interresse du script :

 
      list ($tiempo, $transcurrido, $equipo_remoto, $codigo_status, $bytes, $metodo, $url, $autenticacion, $peerstatus_peerhost, $tipo) = $registro;
      if (strpos($url, '//') != false)
         list ($proto, $aux, $dir, $dir_arg) = explode ('/', $url, 4);
      else
         list ($dir, $dir_arg) = explode ('/', $url, 4);
      $dir_arg = addslashes ($dir_arg);
      $dir_arg = substr ($dir_arg, 0, 1023);
      list ($codigo, $status) = explode ('/', $codigo_status);
      list ($peerstatus, $peerhost) = explode ('/', $peerstatus_peerhost);
      list ($hora, $mili) = explode ('.', $tiempo);
      $tiempo = date("y/m/d H:i:s", $hora).".$mili";
      list ($tipo1, $tipo2) = explode ('/', $tipo);

Tout se que je veut c'est réaliser un test sur les list et explode pour que ca me sort plus ce genre de message!! un calcule de taux d'erreur aussi!

merci de m'aidé a voir un peu plus claire!!!!

6 réponses

cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
14 déc. 2007 à 16:36
Salut !!

C'est moche ce que je vais te dire, mais ajoute des @ devant tes lignes où il peut y avoir des erreurs.
Sinon fait une recherche sur les gestion d'erreur : try { throw new Exception("test") ...

<hr />
lowke<sub>y

WWJD for havin' a nice code ?</sub>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 déc. 2007 à 18:40
Hello,

un code qui se fiche des erreurs s'il peut continuer son exécution malgré tout, cx'est gênant quand même.
Tu as cette erreur parce que tu n'as pas toujours autant de '/' que tu l'attends, donc comme list impose le nombre d'index retournés par explode(), il râle. Ca veut dire aussi que plus loin dans ton code, tu vas utiliser des variables qui n'existent pas.
Alors c'est sûr, le @ va virer les erreurs et tu seras sans doute content. Mais bon...tu ne seras guère plus avancé sur la gestion de ton code au final.
0
El_Diablo666 Messages postés 294 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 décembre 2012
14 déc. 2007 à 19:30
Resalut;

Le @ je le met ou? si c'est dans le fichier que je traite bin je pense que c'est pas la solution, puisque le fichier que je traite change réguliérement de contenu....! en faite je l'utilse comme buffer pour traiter d'otre fichier...! sinon ou, je voi pas?
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
14 déc. 2007 à 20:48
Salut,
le @ tu le mets devant tes commandes list.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
El_Diablo666 Messages postés 294 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 décembre 2012
14 déc. 2007 à 23:05
Resalut,


OK, ca marche!!! Le @ resoue mon probléme!! mais j'ai chercher et j'ai pas trouvé sa vrais foncntionnalité, ca fait quoi exactement? ca élimine just les message d'erreur?
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
14 déc. 2007 à 23:16
Ouais ça sert a éliminé le message d'erreur.

Mais une façon plus propre serait aussi de juste désactivé l'affichage des notice dans ton php.ini puisque ce ne sont pas des erreurs très graves. Ou encore tu peux modifié ton scripts pour geré les exceptions ou les évités

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
Rejoignez-nous