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

C# Discussion :

Pourquoi le retour de la méthode affiche une erreur ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    telodo
    Invité(e)
    Par défaut Pourquoi le retour de la méthode affiche une erreur ?
    Bonjour



    J'ai fait une méthode comme ceci :

    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
     
        protected string definitionQSE()
        {
            string act = Request.QueryString["act"];
            string DossierQSE;
     
            if (act == "M1")
            {
                DossierQSE = "/Prisma_QSE/Processus M1 Définir et déployer la stratégie/";
                return DossierQSE.ToString();
            }
            else if (act == "M2")
            {
                DossierQSE = "/Prisma_QSE/Processus M2 Gérer le SMQE";
                return DossierQSE.ToString();
            }

    Pourquoi cela m'affiche une erreur ?

    Sinon existe-t-il une autre façon de retourner une variable qui prends une valeure celon certains paramètres ?

    Je souhaite ensuite récupérer la valeure de DossierQSE afin de l'utiliser dans d'autres méthodes.


    En vous remerciant !

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Quelle est l'erreur? donne le code complet qui permet de reproduire l'erreur et pas une partie de la méthode.
    Cordialement.

  3. #3
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Et si act=="M3" ton programme tire à pile ou face quoi faire?
    Ton erreur est "Not all code path return a value" ce qui signifie que lorsque le compilateur essaie tous les chemins possible, il trouve au moins un chemin qui ne passe pas par un return, en l'occurence ici quand act vaut ni M1 ni M2. Même si c'est impossible d'après toi parceque tu as pris des précautions particulières avant, le compilateur ne le sait pas!

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par PitMaverick78 Voir le message
    Et si act=="M3" ton programme tire à pile ou face quoi faire?
    Ton erreur est "Not all code path return a value" ce qui signifie que lorsque le compilateur essaie tous les chemins possible, il trouve au moins un chemin qui ne passe pas par un return, en l'occurence ici quand act vaut ni M1 ni M2. Même si c'est impossible d'après toi parceque tu as pris des précautions particulières avant, le compilateur ne le sait pas!
    C'est ce que j'ai supposé, mais n'ayant pas le code complet de la méthode, on ne sait pas ce qu'il fait après avec sa chaine...

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Citation Envoyé par PitMaverick78 Voir le message
    Et si act=="M3" ton programme tire à pile ou face quoi faire?
    Ton erreur est "Not all code path return a value" ce qui signifie que lorsque le compilateur essaie tous les chemins possible, il trouve au moins un chemin qui ne passe pas par un return, en l'occurence ici quand act vaut ni M1 ni M2. Même si c'est impossible d'après toi parceque tu as pris des précautions particulières avant, le compilateur ne le sait pas!
    Autrement dit rajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    else
    return string.Empty;

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Autre petit conseil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
           if (act == "M1") // utilise plutot act.Equals("M1")
            {
                DossierQSE = "/Prisma_QSE/Processus M1 Définir et déployer la stratégie/";
                return DossierQSE.ToString();
                   // ToString ne sert a rien ici, c'est DEJA un string !
            }

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    ou tout simplement instancie ton DossierQSE et return le a la fin :

    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
     
     protected string definitionQSE()
        {
            string act = Request.QueryString["act"];
            string DossierQSE = ""; /*(ou string.Empty)*/
     
            if (act == "M1") //ou act.Equals("M1")
            {
                DossierQSE = "/Prisma_QSE/Processus M1 Définir et déployer la stratégie/";
                //return DossierQSE.ToString();
            }
            else if (act == "M2") //ou act.Equals("M2")
            {
                DossierQSE = "/Prisma_QSE/Processus M2 Gérer le SMQE";
                //return DossierQSE.ToString();
            }
     
     
    return DossierQSE;
    }
    ou utilise un switch et met une valeur par défaut :

    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
     
    protected string definitionQSE()
    {
       string act = Request.QueryString["act"];
       string DossierQSE; 
     
      switch(act)
      {
         case "M1":
                DossierQSE = "/Prisma_QSE/Processus M1 Définir et déployer la stratégie/";
         break;
         case "M2":
                DossierQSE = "/Prisma_QSE/Processus M2 Gérer le SMQE";
         break;
         Default:
                DossierQSE = String.Empty;
         break;
      }
     
      return DossierQSE;
    }

Discussions similaires

  1. Affiche une erreur de script alors qu'il n'y en a pas
    Par Mustang67 dans le forum Flash
    Réponses: 1
    Dernier message: 11/12/2008, 20h06
  2. Comment éviter d'afficher une erreur quand table vide
    Par lelapinrusse dans le forum Langage
    Réponses: 6
    Dernier message: 16/05/2008, 19h00
  3. [Système] Afficher une erreur
    Par piour dans le forum Langage
    Réponses: 19
    Dernier message: 05/11/2007, 15h35
  4. [MySQL] Afficher une erreur si un champ est rempli
    Par kevinf dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/11/2006, 20h09

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