Ich kann die Ausnahme "No space left on device" bei Verwendung der NSFileHandle writedata-Funktion nicht abfangen

9

Ich habe NSFileHandle für writedata zu einer Datei verwendet.

%Vor%

Da der Speicherplatz auf dem Gerät voll ist, wird der Aufruf von writedata fehlschlagen. Aber ich kann die Ausnahme nicht fangen.

Mein Programmprotokoll:

%Vor%

Ich habe herausgefunden, dass writedata eine Nachricht aufruft, um echte Daten in das Dateisystem zu schreiben. Also denke ich, dass writedata in GCD eine Ausnahme auslöst.

Wie kann ich die GCD-Ausnahme in meinem Code behandeln?

    
Yifan Wang 23.05.2014, 08:56
quelle

1 Antwort

0

Sehen Sie sich Ссылка

an
  

seekToEndOfFile () und writeData () sind nicht als Würfe markiert (sie nicht   Wirf ein NSError-Objekt, das mit einem do-try-catch gefangen werden kann   Block), was im aktuellen Zustand von Swift die NSExceptions bedeutet   von ihnen erhoben kann nicht "gefangen" werden.

     

Wenn Sie an einem Swift-Projekt arbeiten, können Sie ein Objective-C erstellen   Klasse, die Ihre NSFileHandle-Methoden implementiert, die die   NSExceptions (wie in dieser Frage), aber ansonsten bist du out   Glück.

    
Eric 09.02.2018 14:52
quelle