在 Swift 中,错误处理是一种用于应对可能出错的情况的机制。Swift 提供了多种错误处理方式,以确保应用程序在遇到错误时不会崩溃。本章将介绍如何定义和抛出错误、处理错误、使用 do-catch 语句、try?、try! 以及自定义错误类型。
9.1 定义和抛出错误
在 Swift 中,错误必须遵循 Error 协议。你可以使用枚举来定义不同类型的错误,以便清晰地管理错误情况。
示例代码
enum FileError: Error {
case fileNotFound
case unreadable
case permissionDenied
}
func readFile(at path: String) throws -> String {
// 模拟一个错误
throw FileError.fileNotFound
}
在上例中,FileError 枚举遵循了 Error 协议,定义了三个错误类型。readFile 函数声明了 throws,表示它可能会抛出错误。
9.2 使用 do-catch 捕获错误
使用 do-catch 语句可以捕获和处理抛出的错误。每个 catch 子句可以匹配一个特定的错误类型。
示例代码
do {
let content = try readFile(at: "/path/to/file")
print(content