2016-06-29 17 views
0

ich ein paar Zeilen in einem unserer Anwendungen gesehen habe wie folgt aussehen:Datei aus isolierten Speicher löschen, ohne existance Überprüfung vor

if (isolatedStore.FileExists(firstFilePath)) 
    isolatedStore.DeleteFile(firstFilePath); 
if (isolatedStore.FileExists(secondFilePath)) 
    isolatedStore.DeleteFile(secondFilePath); 

Muss ich überprüfen, wirklich, wenn eine Datei, bevor sie in isolierten Speicher vorhanden ist, um Löschen oder kann ich es direkt löschen, ohne die Funktionalität zu ändern?

Antwort

1

Sie können die Dateien löschen, ohne zu überprüfen, ob sie da sind, solange Sie bereit sind, jede sich daraus ergeb zu handhaben Ausnahmen: von How to: Delete Files and Directories in Isolated Storage

Eine IsolatedStorageException-Ausnahme wird ausgelöst, wenn Sie versuchen, eine Datei oder ein Verzeichnis zu löschen, das nicht vorhanden ist.

+0

Es ist also nicht möglich, mehrere Dateien nacheinander zu löschen, ohne zu prüfen, ob nur eine davon existiert? –

+0

Es hängt von Ihren Umständen ab. Wenn Sie Dateien in Stapeln erstellen, kann es ausreichen, zu prüfen, ob nur die erste vorhanden ist. – stuartd

1

Nein, setzen Sie einfach einen try Block, so dass keine Ausnahmen Ihre Anwendung beeinträchtigen.

try { isolatedStore.DeleteFile(filePath); } catch { } 

Oder Sie können überprüfen, ob ein Fehler aufgetreten ist, und behandeln die Ausnahme:

try 
{ 
    isolatedStore.DeleteFile(filePath); 
} 
catch (IsolatedStorageException ex) 
{ 
    // Handle the exception however you want... 
}