2016-07-28 16 views
0

Ich versuche, Elemente einer Wiederholung programmgesteuert zu ändern (und die Ausnahmen machen).Speichern Sie eine Ausnahme für ein Outlook-Add-In

Das Projekt ist ein Outlook 2010 AddIn.

habe ich versucht, den folgenden Code, aber nach ein paar speichert den Code am

extracted ="somelocation" 

//that's a fancy way to iterate on a list of appointment items 
for (int i = 0; i < filterAppointmentsToChangeLocation.RecordCount; i++) 
{ 
    int selrow = 1 
    var calitm = filterAppointmentsToChangeLocation.data[selrow].GetOlAppointment(); 
    //this returns an appointmentitem that is associated with a form 
    //that contains the location property 

    calitm.UserProperties["location"].Value = extracted; 
    calitm.Save(); 

    Marshal.ReleaseComObject(calitm); 
} 

calitm.Save() Befehl verlassen Haben Sie irgendwelche Vorschläge? Thnx für Ihre Zeit ...

Antwort

0

Wenn Ihr Code existiert, bedeutet das, dass während des Aufrufs Ihrer Save-Methode etwas abstürzt.

Sie müssen wirklich versuchen/Ihre Verwerfungen Code zu fangen, so dass Sie sparen können/rethrow Ihre Ausnahme

for (int i = 0; i < filterAppointmentsToChangeLocation.RecordCount; i++) 
{ 
    int selrow = 1 
    var calitm = filterAppointmentsToChangeLocation.data[selrow].GetOlAppointment(); 

    try 
    { 
     calitm.UserProperties["location"].Value = extracted; 
     calitm.Save(); 
    } 
    catch (Exception e) 
    { 
     // save, output or retrhow your exception. 
     System.IO.File.WriteAllText (@"C:\somepath\error.txt", e.Message); 
    } 
    Marshal.ReleaseComObject(calitm); 
} 
+0

was meinst du, Ausgang oder rethrow Ihre Ausnahme speichern. Was wird jede Methode tun? Kann ich das Speichern wiederholen? es ist ziemlich wichtig, dass auf jedem Artikel gespeichert werden sollte –

+0

Schauen Sie hier http://StackOverflow.com/Questions/14973642/How-using-try-catch-for-exception-handling-is-best-practice zu sehen was Sie mit der Ausnahmeübergabe tun können; Sie können versuchen, Ihre Sicherung erneut abzuspielen oder Ihre for-Schleife zu stoppen, indem Sie die Ausnahme erneut auslösen – bsoulier