message d'erreur perso avec try catch throw en JavaScript!!

message d'erreur perso avec try catch throw en JavaScript!! - Programmation

Marsh Posté le 22-01-2002 à 16:17:14    

Salut
 
Bon je cherche à balancer un message d'erreur personnalisé en utilisant la gestion d'erreur en JavaScript voici mon code d'exemple :

function valid_form()
{
try
{var recup=document.forms[0].chiffre.value
 
ablert('bonjour coucou';);
throw "bordel ces exceptions";
}
 
catch(error)
{alert(error.description);
}

 
j'ai bien une intercpetion mais j'arrive pas à afficher le bon message....quelqu'un voit pourquoi???

Reply

Marsh Posté le 22-01-2002 à 16:17:14   

Reply

Marsh Posté le 22-01-2002 à 16:32:44    

Il t'affiche quoi comme message si c'est pas le bon !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-01-2002 à 16:33:52    

mdr !
je savais pas qu'il y avait des exception en javascript ! :)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 22-01-2002 à 16:37:32    

tout simplement objet attendu...
j'ai essayé de faire un error.substr(0) et il me dit que l'objet ne gere pas cette methode...

Reply

Marsh Posté le 22-01-2002 à 16:42:44    

Dans ton exemple, catch(error), tu pense que error est un objet.
En fait ce n'en est pas un ! C'est une chaine :
 
Essaye çà : alert(error);  
Au lieu de çà : alert(error.description);  
 
Si tu veux un objet error, faut le créer :
oE = new Error( NumeroDErreur, Description )
 
Exemple from MSDN : http://msdn.microsoft.com/library/ [...] script.asp
function TryCatchDemo(x){
   try {
      try {
      if (x == 0)   // Evalute argument.
         throw "x equals zero";   // Throw an error.
      else
         throw "x does not equal zero";   // Throw a different error.
      }
      catch(e) {   // Handle "x = 0" errors here.
         if (e == "x equals zero" )   // Check for an error handled here.
            return(e + " handled locally." );   // Return object error message.
         else   // Can't handle error here.
            throw e;   // Rethrow the error for next
      }   // error handler.
   }
   catch(e) {   // Handle other errors here.
      return(e + " handled higher up." );   // Return error message.
   }
}
document.write(TryCatchDemo(0));
document.write(TryCatchDemo(1));


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-01-2002 à 16:48:14    

j'ai essayer alert(error) il me sort [objet attendu]...
je vai etudier l'exemple que tu as trouve avec attention et voir pourquoi ça marche pas....
Par contre tous les exemple que je trouve son dans un bloc if else...avec throw!!!

Reply

Marsh Posté le 22-01-2002 à 16:53:21    

Ok, en fait t'as une erreur dans ton script :
 
ablert(...) au lieu d'alert(...)
 
Essaye çà, chez moi çà marche !
 
<SCRIPT>
function valid_form()
{
try
{var recup=document.forms[0].chiffre.value
 
alert('bonjour coucou';);
throw "bordel ces exceptions";
}
 
catch(error)
{alert(error);
}
}
</SCRIPT>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-01-2002 à 16:54:36    

ce code marche !!!
function valid_form()
{vp=10;
try
{
if (vp==10)
throw ("bordel ces exceptions" );
}
 
catch(error)
{alert(error);
}
 
}

en fait j'ai l'impression que si javascript genère une erreur (une vraie comme mon ablert ) alors il renvoie un objet error (et dans ce cas seul JS gere les messages d'erreur )et si non je peux tester une condition ou autre chose et je renvoie ce que je veux...
D'ailleur toute instructions apres mon throw ne s'execute plus (même si elles sont juste :)  )
JE pense donc que ça marche comme ça :)

Reply

Marsh Posté le 22-01-2002 à 16:58:51    

ben le ablert c'etait fait exceprêt pour voir comment Js allait réagir vu que c'etait dans un try!!

Reply

Marsh Posté le 22-01-2002 à 17:00:07    

Ben c'était çà le [objet attendu]...  :??:  :??:  :??:  
 
Mais je pense que t'as compris, donc tout va bien  ;)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-01-2002 à 17:00:07   

Reply

Marsh Posté le 22-01-2002 à 17:02:30    

bon maintenant que je pense avoir compris je vais pouvoir avancer..... :bounce:
Merci bien
@+

Reply

Sujets relatifs:

Leave a Replay

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