# 捕捉

**接住 `尝试` 块里的异常,可带错误变量。**

```xuantie
尝试 {
    示("正在执行危险操作...")
} 捕捉 (错误) {
    示("捕获到异常")
}
```

## 你可以……

- **要错误信息就带变量**——括号写法和裸标识写法等价:

```xuantie
} 捕捉 (错误) {
    示(错误)
}
```

```xuantie
} 捕捉 错误 {
    示(错误)
}
```

- **无异常时整块跳过**——`尝试` 块正常跑完,`捕捉` 不执行:

```xuantie
设 完成 = 假
尝试 {
    完成 = 真
} 捕捉 {
    完成 = 假
}
示(完成)
```

## 注意

- `捕捉` 不能单独出现,必须跟在 `尝试` 块后面。
- 错误变量是字典,目前只有 `消息` 一个字段(`错误["消息"]`),勿依赖更多字段。
- 能进来的故障:除零、注解参数类型错误(见 [尝试](尝试.md) 的注意);越界返 `空` 这类约定返回值不进来。

## 相关

[尝试](尝试.md) · [终](终.md)