Swift 4 / Xcode 9.3 / iOS - Catch Файл "x" не может быть открыт, потому что нет такого файла со String (contentsOf: url)

drewster спросил: 03 февраля 2018 в 10:55 в: swift

Swift 4 / Xcode 9.3 / iOS

Я использую String (contentsOf: url), и в некоторых случаях я получаю сообщение об ошибке, потому что файл, на который ссылается URL-адрес, не существует. Я хочу обработать этот конкретный случай ошибки.

Я знаю, что могу проверить, существует ли файл в первую очередь, но я хочу обработать случай с ошибкой.

Сейчас я do:

let data = try String(contentsOf: url)

До сих пор я ловил все ошибки, с чем-то вроде:

do {
    let data = try String(contentsOf: url)
    //<other code here>
} catch let error {
    fatalError("bad error: \(error)")
}

Когда конкретный файл I Я пытаюсь извлечь из (из URL-адреса) не существует, я получаю такую ​​ошибку:

bad error: Error Domain=NSCocoaErrorDomain Code=260 "The file "whatever.json" couldn’t be opened because there is no such file." UserInfo={NSFilePath=/Users/myname/Library/Developer/CoreSimulator/Devices/6529F22A-5234-49D7-9BB3-B9C71474CC53/data/Containers/Data/Application/005C1F55-07E8-4CF4-86FD-2F00B1144FD4/Documents/whatever.json, NSUnderlyingError=0x608000058180 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}

Как я могу уловить эту ошибку отдельно, чтобы я мог ее обработать отдельно от других ошибок? Я пробовал CocoaError.fileNoSuchFile и несколько в домене ошибок POSIX.

Спасибо!


0 ответов