Fout bij het halen van tekst uit .txt bestand

Status
Niet open voor verdere reacties.

Joose

Gebruiker
Lid geworden
21 mei 2008
Berichten
10
Hey,

Ik ben bezig met het maken van een spel galgje en ik moet uit een tekstbestand een woord met een hint halen.
het txt bestand ziet er zo uit:
Code:
3;
woord-hint
woord-hint
woord-hint

het cijfer duidt het aantal woorden aan en dan komen de woorden

wat is het probleem?
Ik krijg steeds deze error
Galgje.AanmaakSpel.WoordHintAanvraag():not all code paths return a value

Ik heb heel de code al afgezocht en al stappen terug gedaan om te zien waar de fout zou zitten maar hij blijft deze fout geven.


Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Galgje
{
    class AanmaakSpel
    {
        private StreamReader fileReader; //leest data uit tekstbestand
        private FileStream input; //onderhoudt de connectie met het bestand
        private string inputRecord;
        private Random randomNumbers;

        public string WoordHintAanvraag()
        {
            try
            {
                input = new FileStream("woorden.txt", FileMode.Open , FileAccess.Read);
                fileReader = new StreamReader(input);
            }
            catch (IOException)
            {
                MessageBox.Show("Probleem met openen", "Bestand", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            try
            {
                inputRecord = fileReader.ReadLine();
                if (inputRecord != null)
                {
                    string[] inputLijnen;
                    string[] inputWoordHint;
                    inputLijnen = inputRecord.Split(';');
                    inputWoordHint = inputLijnen[1].Split('\n');
                    int hoeveel = inputWoordHint.Length;
                    randomNumbers = new Random();
                    int woordNummer = randomNumbers.Next(hoeveel);
                    string gekozenWoordHint = inputWoordHint[woordNummer];
                    BestandLezenSluiten();
                    return gekozenWoordHint;
                }
                else
                {
                    MessageBox.Show("Er zitten geen woorden in het bestand", "Bestand", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                }
                
                
            }   
            catch (IOException)
            {
                MessageBox.Show("Probleem met bestand", "Bestand", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                BestandLezenSluiten();
            }
            catch (FormatException)
            {
                MessageBox.Show("Probleem met Update", "Bestand", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                BestandLezenSluiten();
            }
        }
        public void BestandLezenSluiten()
        {
            fileReader.Close();
            input.Close();
        }
    }
}

iemand die mss weet waarom en mij een duw in de rug wilt geven
 
Je geeft hier aan dat je een returnwaarde hebt voor de functie.
Code:
public [COLOR="Red"]string [/COLOR]WoordHintAanvraag()

Echter je hebt geen returnvalue in de functie gezet.
 
Ik heb het probleem van de return opgelost
maar de fout blijft hetzelfde en ik weet niet echt goed wat ik zou moeten veranderen aan die string ik heb er al veel van gemaakt.
 
Als hij nog dezelfde fout blijft geven, dan is de fout nog niet helemaal opgelost. ;)

waar heb je de return bijgezet?
 
de return staat op het einde van het try blok waar ik heel de input opsplits.

ik heb voor de veiligheid in mijn tekstbestand , ipv returns gezet en zo gesplitst.
 
Joose,

Je moet de return aan het eind van de functie zetten(dus voor de laatste '}'), pas dan verdwijnt de melding. Dus zoals hieronder.

private string getWoord(...)
{
string Resultaat = String.Empty;

try
{
Resultaat = ....
}
catch (...)
{}

return Resultaat;
}

Ik hoop dat je zo weer even verder kunt.
Jurjen
 
de fout is opgelost er was iets met de try catch blokken.

Bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan