login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Return probleem (Opgelost)

Offline zwobbel - 03/12/2008 12:48
Avatar van zwobbelPHP gevorderde Hallo ik heb een insert methode geschreven voor categorien aan te maken, en als volgt het ID terug te geven in mijn arraylist.
Het probleem is echter als ik probeer een waarde terug te geven in de try catch gaat het mis.

Als ik de try catch weg haal werkt het wel, maar is natuurlijk niet ideaal moest er iets fout gaan...

Zonder try catch waar het wel werkt:
Plaatscode: 47959

Met trycatch waarvan hij als volgt error geeft dat hij geen return waarde krijgt:
Plaatscode: 47960

Error:
Error 1 'RcEssenFotoManager.CategorienDB.AddAlbum(RcEssenFotoManager.Categorien)': not all code paths return a value C:\Documents and Settings\Administrator\Mijn documenten\Visual Studio 2008\Projects\RcEssenFotoManager\RcEssenFotoManager\CategorienDB.cs 48 30 RcEssenFotoManager

4 antwoorden

Gesponsorde links
Offline Ontani - 03/12/2008 12:57
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Je kan beter een variabele invullen binnen je try catch en deze dan na de try catch returnen.

hij klaagt er over dat als hij in de catch komt geen waarde teruggeeft
Offline zwobbel - 03/12/2008 13:33
Avatar van zwobbel PHP gevorderde Als ik de terugkerende waarde buiten de try catch zet en de variable in de catch vul krijg ik volgende error:
Error 1 The name 'albumID' does not exist in the current context C:\Documents and Settings\Administrator\Mijn documenten\Visual Studio 2008\Projects\RcEssenFotoManager\RcEssenFotoManager\CategorienDB.cs 79 20 RcEssenFotoManager
Offline Ontani - 03/12/2008 14:06
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
je moet natuurlijk wel je variabele ook voor je try catch definieëren

  1. int albumID = -1;
  2. Try {
  3. // bla bla bla
  4. albumId = 50
  5. } Catch {
  6. albumId = -1
  7. }
  8. return albumID
Offline Abbas - 03/12/2008 14:11 (laatste wijziging 03/12/2008 14:12)
Avatar van Abbas Gouden medaille

Crew .NET
Als je zonder de try-catch werkt moet je de verbinding sluiten alvorens de waarde te returnen.
Als je met try-ctahc werkt zet je je code zo:
  1. public static string AddAlbum(Categorien categorien)
  2. {
  3. MySQLConnection connection = connectionDB.GetConnection();
  4. string sql = "INSERT INTO albumcategorien(AlbumCategorienNaam) VALUES('" + categorien.AlbumCategorienNaam + "')";
  5. MySQLCommand InsertCmd = new MySQLCommand(sql, connection);
  6.  
  7. string selectStatement = "SELECT max(AlbumCategorienID) FROM albumcategorien";
  8. MySQLCommand selectCommand = new MySQLCommand(selectStatement, connection);
  9.  
  10. int albumID = 0;
  11.  
  12. try
  13. {
  14. connection.Open();
  15. InsertCmd.ExecuteNonQuery();
  16. albumID = Convert.ToInt32(selectCommand.ExecuteScalar());
  17. }
  18. catch(Exception x)
  19. {
  20. //Doe er iets met de fout
  21. //Bijvoorbeeld:
  22. albumID = -1;
  23. }
  24. finally
  25. {
  26. connection.Close();
  27. }
  28. return albumID;
  29. }


Ok, Ontani was me voor! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.173s