# do-try-catch 用法

URL: https://caijiao.org/swift/09-error-handling/02-do-try-catch
Source: docs/swift/09-error-handling/02-do-try-catch.md
Description: 本章详细讲解 Swift 中 do-try-catch 语法，用于捕获和处理抛出的错误，确保程序稳定运行。

`do-try-catch` 是 Swift 中处理错误的标准语法结构，允许捕获抛出的异常并进行相应处理。

## 基本结构

```swift
do {
    try 函数调用()
    // 正常执行代码
} catch 错误类型1 {
    // 处理特定错误
} catch {
    // 处理其他错误
}
````

## 示例代码

```swift
enum NetworkError: Error {
    case badURL
    case timeout
}

func fetchData(from url: String) throws -> String {
    if url.isEmpty {
        throw NetworkError.badURL
    }
    return "数据内容"
}

do {
    let data = try fetchData(from: "")
    print(data)
} catch NetworkError.badURL {
    print("无效的URL地址")
} catch {
    print("其他网络错误")
}
```

## 说明

* `try` 关键字标记可能抛出错误的函数调用。
* `do` 代码块包裹可能抛错代码。
* `catch` 捕获并处理对应错误。
* 通过多重 `catch` 分支精确处理不同错误类型。

正确使用 do-try-catch，有助于编写健壮、可维护的代码。
