IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Unreachable code ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Par défaut Unreachable code ?
    Bonjour à tous,

    voici un bout de code en Javascript tiré d'un programme sur lequel je travail.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     
    function submit_simulate(docType) {
     
              if (simulatePressed || docType == 'nothing') {
                  return true;
              }
     
              if (isBasketEmpty()) {
                  return false ;
              }
     
              if ( checkDeliveryDate() == false ){
              	alert("<isa:translate key="b2b.order.required.delivryDate" />");
              	return false;
              }
     
              if ( checkingDate == false ) {
              	if ( checkReqDateChange(true) == false ){
    	          	// -- prevent user to send wrong date.
    	          	return false;
    	          }
     
              }else{
              	//if orderTool.js is running, don't go to next step !
              	return false;
              }
     
     
     
     
     
              // ----------------------------------
              //UPDATED ( 24-04-06 )
              //          
              if ( docType == 'order' || docType == 'ordertemplate'){
              	//MUST take a look about all selected product.
              	var wrongList = isBasketContainsMultipleSameProduct() 
     
              	if ( wrongList.length > 0 ){
              		if ( wrongList.length == 1 ){
              			alert("<isa:translate key="b2b.ordr.alr.basket.multiple.product"/>" + '\n' + "<isa:translate key="b2b.order.display.productno"/> : " + wrongList[0]);
     
     
              		}else{	
              			var fullList = '';
              			for(var i = 0; i < wrongList.length; i++){
              				//
              				fullList += "<isa:translate key="b2b.order.display.productno"/> : " + wrongList[i];
              				if ( i < wrongList.length - 1 )
              					fullList += '\n';
              			}
              			alert("<isa:translate key="b2b.ordr.alr.basket.multiple.products"/>" + '\n' + fullList);
              		}
              		return false;
     
              	}
              }
              // ----------------------------------
     
              parent.positions.document.forms["order_positions"].simulatepressed.value=docType;
              parent.positions.document.forms["order_positions"].submit();
              simulatePressed = true;
              return true;
     
          }
    D'après mes connaissances, toute la deuxième partie de ce code devrait ne devrait jamais être exécuté car après un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    else{
              	//if orderTool.js is running, don't go to next step !
              	return false;
              }
    la fonction devrait renvoyé FALSE et se terminer.

    Pourtant, après de nombreux test, cette fonction arrive jusqu'à la fin de son code...


    Quelqu'un aurait-il une explication à me fournir ? Car je ne comprends vraiment pas.

    Merci d'avance et bon travail à tous !!


    Greg.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Parce que tu ne rentre jamais dans ce else ?

    As tu essayé d'y placer un alert dans ce else pour vérifier?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Par défaut
    Mais avant le ELSE, il n'y a que de IF avec à chaque fois des RETURN dedans, donc théoriquement, quelles que soient les conditions, le programme rentra dans un IF ou finira dans le ELSE et donc passera pas un RETURN.

    Non ?


    Mais tu as raison, je vais de ce pas mettre une alerte dans le ELSE.

    ++

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if ( checkingDate == false ) {
              	if ( checkReqDateChange(true) == false ){
    	          	// -- prevent user to send wrong date.
    	          	return false;
    	          }
     
              }else{
              	//if orderTool.js is running, don't go to next step !
              	return false;
              }
    En regardant de plus près, tu verras que si on rentre dans le premier if et pas dans le second, on se retrouve à passer sans rencontrer de return puisque le else est accroché au premier if....

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Par défaut
    Ha ouiiiiiiiiiiii...


    Bien vu !!

    Merci beaucoup pour ton aide !!!

    Bye.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème "unreachable code is detected" C#
    Par khalil.ajmi dans le forum C#
    Réponses: 1
    Dernier message: 22/10/2012, 15h45
  2. Code unreachable, pourquoi ?
    Par ram-0000 dans le forum C++
    Réponses: 19
    Dernier message: 17/02/2009, 18h02
  3. Unreachable code ?
    Par j0o0 dans le forum C
    Réponses: 3
    Dernier message: 14/12/2008, 18h24
  4. unreachable code erreur
    Par nadsky dans le forum Général Java
    Réponses: 5
    Dernier message: 28/05/2008, 16h05
  5. Erreur "Unreachable code"
    Par DebuDev dans le forum Général Java
    Réponses: 1
    Dernier message: 23/02/2008, 03h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo