Swift FileManager会抛出哪些错误?

Swift FileManager会抛出哪些错误?,swift,error-handling,nsfilemanager,foundation,Swift,Error Handling,Nsfilemanager,Foundation,FileManager的方法可以抛出哪些错误?具体地说,我感兴趣的是可以被抛弃的错误 这就是我想使用它的方式: do{ 让inode=try FileManager.default.attributesOfItem(atPath:somePath)[.systemFileNumber] }捕获SomeError.someSpecificError(让someContext){ /*省略了实现*/ } 它可以如下所示(请参阅文档中有关CocoaError的更多文件相关常量) 使用try?它将永远不

FileManager
的方法可以抛出哪些错误?具体地说,我感兴趣的是可以被抛弃的错误

这就是我想使用它的方式:

do{
让inode=try FileManager.default.attributesOfItem(atPath:somePath)[.systemFileNumber]
}捕获SomeError.someSpecificError(让someContext){
/*省略了实现*/
}

它可以如下所示(请参阅文档中有关CocoaError的更多文件相关常量)


使用
try?
它将永远不会抛出任何东西。它将返回可选值,而不是抛出错误。您需要的是使用
试试
,然后简单地使用
}catch{print(error)}
@LeoDabus感谢您指出这一点。那是个打字错误。我打算写
try
而不是
try?
谢谢!我读了CocoaError和,但他们没有解释什么是原始值。每个
rawValue
背后都有什么意义吗?或者它只是一个用来区分错误的代码?@wowbaggerdhiliquidlunch,在大多数情况下,您不需要rawValue,命名的代码就是所描述的代码,大部分是自描述性的。如果由于任何原因发生了一些未命名的代码,则需要it人员
将let error捕捉为NSError
,即通用方式,并从中读取域和代码。
do {
    let inode = try FileManager.default.attributesOfItem(atPath: somePath)[.systemFileNumber]
} catch CocoaError.fileNoSuchFile {
    print("Error: no such file exists")
} catch CocoaError.fileReadNoPermission {
    print("Error: you don't have permissions")
} catch {
    // something unknown
}