# 错误类型与抛出函数

URL: https://caijiao.org/swift/09-error-handling/01-errors
Source: docs/swift/09-error-handling/01-errors.md
Description: 本章介绍 Swift 中错误类型与抛出函数的使用，帮助开发者实现安全的错误处理机制，提升代码健壮性。

Swift 使用 `Error` 协议定义错误类型，通过抛出函数和错误处理实现异常管理。

## 定义错误类型

定义符合 `Error` 协议的枚举：

```swift
enum FileError: Error {
    case fileNotFound
    case unreadable
    case encodingFailed
}
````

## 抛出函数

使用 `throws` 标记函数可能抛出错误：

```swift
func readFile(name: String) throws -> String {
    guard name == "exists.txt" else {
        throw FileError.fileNotFound
    }
    return "文件内容"
}
```

## 调用抛出函数

使用 `try` 关键字调用，结合 `do-catch` 处理错误：

```swift
do {
    let content = try readFile(name: "notfound.txt")
    print(content)
} catch FileError.fileNotFound {
    print("文件未找到")
} catch {
    print("其他错误：\(error)")
}
```

错误处理机制保证程序运行安全，及时响应异常情况。
