Keynotof gevonden uitzondering

Keynotof gevonden uitzondering

public int getLastUniqueID()
{
    int lastID = 0;
    IsolatedStorageSettings uc = IsolatedStorageSettings.ApplicationSettings;

    List medicationList = (List)uc["medicationList"];

    foreach (sMedication temp in medicationList) {
        lastID = temp.UniqueID;
    }

    return lastID;
}

Het gebeurt op de volgende regel:

List medicationList = (List)uc["medicationList"];
0

2 antwoord

Omdat de fout aangeeft dat de sleutel niet in het woordenboek werd gevonden voordat de gebruiker toegang tot de waarde kreeg, controleer dan of de sleutel bestaat of niet

if(uc.Contains("medicationList"))
{
  //your code here
}
2
toegevoegd

Je zult problemen krijgen met die aanpak, want als de sleutel "medicatielijst" niet aanwezig is in de opgehaalde applicatie-instellingen, gooit het een uitzondering zoals je hebt gezien.

Probeer het volgende:

uc.TryGetValue>("medicationList", out medicationList)
if (medicationList != null)
{
   foreach(sMedication temp in medicationList)
   {
       lastID = temp.UniqueID;
       return lastID;
   }
}
else
{
  //handle the key not being there
}
1
toegevoegd