Exception handling 如何查找SWIFT 3中的基础方法抛出的异常? 是否有一种方法可以找到SWIFT 3中基础方法抛出的异常?特别是,我使用FileManager类将文件从应用程序包复制到文档目录。如果目标文件存在,copyItem方法抛出异常。如何捕获特定的异常?我发现的唯
如何查找SWIFT 3中的基础方法抛出的异常?Exception handling 如何查找SWIFT 3中的基础方法抛出的异常? 是否有一种方法可以找到SWIFT 3中基础方法抛出的异常?特别是,我使用FileManager类将文件从应用程序包复制到文档目录。如果目标文件存在,copyItem方法抛出异常。如何捕获特定的异常?我发现的唯,exception-handling,swift3,Exception Handling,Swift3,如何查找SWIFT 3中的基础方法抛出的异常? 是否有一种方法可以找到SWIFT 3中基础方法抛出的异常?特别是,我使用FileManager类将文件从应用程序包复制到文档目录。如果目标文件存在,copyItem方法抛出异常。如何捕获特定的异常?我发现的唯一方法是解析localizedDescription,它很难看,而且可能不健壮: func copySampleReport() { let fileManager = FileManager() let reportName
是否有一种方法可以找到SWIFT 3中基础方法抛出的异常?特别是,我使用
FileManager
类将文件从应用程序包复制到文档目录。如果目标文件存在,copyItem
方法抛出异常。如何捕获特定的异常?我发现的唯一方法是解析localizedDescription
,它很难看,而且可能不健壮:
func copySampleReport() {
let fileManager = FileManager()
let reportName = "MyFile.txt"
if let documentUrl = try? fileManager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false), let reportUrl = Bundle.main.url(forResource: URL(fileURLWithPath: reportName).deletingPathExtension().lastPathComponent, withExtension: URL(fileURLWithPath: reportName).pathExtension) {
debugPrint("Copying \(reportUrl) to \(documentUrl)")
do {
try fileManager.copyItem(at: reportUrl, to: documentUrl.appendingPathComponent(reportName))
debugPrint("File copied succesfully!")
}
catch {
if error.localizedDescription.range(of:"exists") != nil {
debugPrint("File exists at destination")
} else {
debugPrint(error.localizedDescription)
}
}
}
}
另外,苹果的文档也有一个例子,说明如何使用<代码> CuaAcError < /Cord> Stutt在基础中隔离特定的错误。请参阅“捕获和处理错误”一节。