Avatar
Avatar
We
ファイルを削除しようとして見つからなかった時のエラーハンドリングを、今まで以下のように書いていましたが、 do { try FileManager.default.removeItem(at: .documentsDirectory.appendingPathComponent("aaa")) } catch let error as NSError { if error.domain == "NSCocoaErrorDomain", error.code == 4 { print("削除しようとしたファイルが見つからなかった") } } こちらの記事を読んでCocoaError.fileNoSuchFileでcatchできることを知りました。 https://developer.apple.com/documentation/swift/handling-cocoa-errors-in-swift do { try FileManager.default.removeItem(at: .documentsDirectory.appendingPathComponent("aaa")) } catch CocoaError.fileNoSuchFile { print("削除しようとしたファイルが見つからなかった") } 後者のほうが見やすいのでこれは良いのですが、 Error(NSError)からCocoaError.fileNoSuchFileにたどり着く方法が分からずじまいです。 せいぜいドメイン(NSCocoaErrorDomain)とコード(4)までしか分からないのですが、何かいい方法があるのでしょうか?
自分も面倒だったので、エラードメイン名で絞り込んで一覧を表示するサイトを作ってみました https://cocoa-errors.onrender.com/
Cocoa Errors Wardrobe
9:56 AM
NS_ERROR_ENUM をキーに抽出しているので抜けが多々ありそうですが (edited)