# 结果

**包装操作成败的容器类型(Result)。**

```xuantie
设 转 = 整("42")
若 转.成功 { 示(转.值) } 否 { 示(转.错误) }
```

## 你可以……

- **用 `成功()`/`失败()` 打包返回值**:

```xuantie
函 除法(a, b) {
    若 b == 0 { 返 失败("除数不能为零") }
    返 成功(a / b)
}
```

- **手动解包**——`.成功` 判定,`.值`/`.错误` 取内容:

```xuantie
设 r = 除法(10, 2)
若 r.成功 { 示(r.值) } 否 { 示(r.错误) }
```

- **用 `?` 错误冒泡**——成功则解包,免去层层判定:

```xuantie
设 值 = 除法(10, 2)?
```

## 注意

*   本词是**保留字**:不能用作变量名、函数名、参数名等标识符(完整规则与清单见 [词法与基础语法](../手册/01_词法与基础语法.md#保留字不可作标识符))。
- `?` 冒泡失败时会立刻终止当前函数,并把这个 `失败` 结果返回给上一层调用者。
- `整()`、`小数()`、`求()`、`连()` 等返回的都是 `结果`,先判定 `.成功` 再取 `.值`,别直接当普通值用。

## 相关

[整](整.md) · [小数](小数.md) · [结果类型与错误处理](../01_结果类型与错误处理.md)