55 votes

"lancer un nouvel avertissement" en JavaScript ?

En ce moment, j'étends mon projet JavaScript avec la gestion des erreurs. L' throw joue ici un rôle important :

 throw new Error("text"); // Error: text

Cependant, puis-je également lancer un avertissement ? J'ai essayé ce qui suit en vain :

 throw new Warning("text"); // Warning is not defined

Les erreurs font que les outils de développement de Chrome affichent une croix rouge, mais comment puis-je lui faire afficher une icône d'avertissement (point d'exclamation jaune) ?

87voto

SLaks Points 391154

Comme ça:

 console.warn('Hi!');

Notez que contrairement aux exceptions, cela n'interrompra pas votre code ; la fonction appelante continuera normalement.

Notez également que cela générera une erreur dans n'importe quel navigateur, à l'exception des WebKits ou de Firefox avec Firebug, car console n'existera pas.

Pour résoudre ce problème, vous pouvez inclure Firebug Lite ou créer un faux objet NOP-ing console .

5voto

alex Points 186293

Je ne pense pas que vous puissiez lancer un avertissement en JavaScript.

Aussi, vous feriez mieux de faire...

 throw {
   name: 'Error',
   message: 'Something error\'d'
}

D'après Crockford, en tout cas :P

4voto

ThiefMaster Points 135805

Utiliser console.warn(...);

Notez qu'il n'est défini que s'il y a une console - par exemple dans Firefox uniquement si FireBug est actif. Donc, si vous l'utilisez, n'oubliez pas de créer un objet console factice avec la méthode que vous utilisez si window.console n'est pas défini.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X