n = Math.sqrt(-6);

Le
ast
bonjour,

On peut vraiment faire à peu près n'importe quoi avec javascript.

Par exemple après:

n = Math.sqrt(-6);

n contient NaN (Not a Number)

et le programme continu sans rien signaler
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal
Le #23040591
Le 21/01/2011 13:22, ast a écrit :
bonjour,



Bonjour,

On peut vraiment faire à peu près n'importe quoi avec javascript.


[...]
et le programme continu sans rien signaler ...



L'exécution se poursuit et l'erreur est signalée dans le contenu
retourné, qui peut donc être testé.
Où est le problème ?


--
Cordialement,
Pascal
Cenekemoi
Le #23040661
Bonjour à ast
bonjour,

On peut vraiment faire à peu près n'importe quoi avec javascript.

Par exemple après:

n = Math.sqrt(-6);

n contient NaN (Not a Number)

et le programme continu sans rien signaler ...



Si la bête est bien écrite, il doit y avoir un test du genre :

if ( isNaN(n) ) alert ('erreur sur n');

Je ne vois pas où est le problème !!!

--
Cordialement, Thierry ;-)
ast
Le #23040781
"Cenekemoi" news:4d39866d$0$868$
Bonjour à ast
bonjour,

On peut vraiment faire à peu près n'importe quoi avec javascript.

Par exemple après:

n = Math.sqrt(-6);

n contient NaN (Not a Number)

et le programme continu sans rien signaler ...



Si la bête est bien écrite, il doit y avoir un test du genre :

if ( isNaN(n) ) alert ('erreur sur n');

Je ne vois pas où est le problème !!!




sqrt(-6) devrait entrainer l'arret du programme, avec un joli message
d'erreur, comme cela se passe avec les autres langages.
Olivier Miakinen
Le #23040841
Le 21/01/2011 14:59, ast a écrit :

On peut vraiment faire à peu près n'importe quoi avec javascript.







Oui, c'est une excellente chose. Il n'y a rien de pire que les langages
qui nous interdisent de faire ce qu'on veut.¹

Par exemple après:
n = Math.sqrt(-6);
n contient NaN (Not a Number)
et le programme continue sans rien signaler ...







Il continue sans rien signaler si le programmeur ne demande pas que ce
soit signalé. Il s'arrêtera avec un message d'erreur si le programmeur
en a décidé ainsi.

Si la bête est bien écrite, il doit y avoir un test du genre :
if ( isNaN(n) ) alert ('erreur sur n');
Je ne vois pas où est le problème !!!





Tout juste.

sqrt(-6) devrait entrainer l'arret du programme, avec un joli message
d'erreur, comme cela se passe avec les autres langages.



Je ne vois pas pourquoi tu voudrais brider le langage, en ne lui
laissant pas d'autre choix que celui que tu décris ici, alors qu'il est
si simple de permettre l'un ou l'autre.

--
Olivier Miakinen
¹ Note : c'était une boutade, bien sûr. Par exemple on ne peut pas
demander à JavaScript d'aller lire un fichier sur la machine du
visiteur d'un site web, sans son consentement.
Paul Gaborit
Le #23040831
À (at) Fri, 21 Jan 2011 14:59:42 +0100,
"ast"
sqrt(-6) devrait entrainer l'arret du programme, avec un joli message
d'erreur, comme cela se passe avec les autres langages.



Vous ne devez pas connaître beaucoup d'autres langages... ;-)


--
Paul Gaborit -
Olivier Masson
Le #23043411
Le 21/01/2011 14:59, ast a écrit :


sqrt(-6) devrait entrainer l'arret du programme, avec un joli message
d'erreur, comme cela se passe avec les autres langages.



Javascript ne doit pas gérer les nombres complexes :)
Mickaël Wolff
Le #23044271
On 22/01/11 12:21, Olivier Masson wrote:

Javascript ne doit pas gérer les nombres complexes :)



C'est marrant, ce fut mon premier réflexe. La racine d'un nombre
négatif n'est pas illégale, dans l'ensemble des nombres complexes.
Ceci dit, que devrait-on dire de la division par 0 :o)
Jo Engo
Le #23629031
On Fri, 21 Jan 2011 14:59:42 +0100
"ast"
sqrt(-6) devrait entrainer l'arret du programme, avec un joli message
d'erreur,



Il faut rajouter sauf si le programmeur a écrit un traitement d'except ion ad hoc. Le fait qu'aucune exception ne soit levée à ce moment là est un effet de bord de l'existence de la valeur réservé e NaN.

comme cela se passe avec les autres langages.



*Ben non. Si le langage a prévu le cas, il ne se déroute pas.

--
La nature veut qu'on jouisse de la vie le plus possible et qu'on meure
sans y penser. Le christianisme a retourné cela.
-+- Charles Sainte Beuve -+-
Publicité
Suivre les réponses
Poster une réponse
Anonyme