# 系统相关函数 - 错误处理与性能分析

文档类型：函数事实页
是否可直接用于生成代码：是；本页函数条目均包含参数表
遇到不确定时：回到 [../system.md](../system.md)、[../../index.md](../../index.md)

## 错误与断言函数

### `assert(check, error_message)`

用途：断言 `check` 是否为真值；为真时返回 `0` 并继续执行，为假时抛出 `error_message` 指定的运行时错误。

参数个数：2
返回值：整数；断言通过时返回 `0`，断言失败时不返回而是抛出错误

| 参数位置 | 参数名          | 必填 | 接收类型      | 说明                                    |
| -------- | --------------- | ---- | ------------- | --------------------------------------- |
| 1        | `check`         | 是   | 任意值/表达式 | 按 TSL 真值规则判断；真值通过，假值失败 |
| 2        | `error_message` | 是   | 字符串        | 断言失败时抛出的错误信息                |

生成规则：

- 只在需要主动校验前置条件、输入约束或不可继续执行的状态时生成。
- `check` 可以是逻辑判断表达式，例如 `1 = 1`、`3 > 2`、`(3 > 2) and (2 < 4)`。
- 真值示例：`1`、`true`、`-1`、`0.5`、`"abc"`、`array(1)`；通过时返回 `0`。
- 假值示例：`0`、`false`、`nil`、`""`、`array()`；失败时直接抛出 `error_message`。
- 断言失败不会把错误信息作为普通返回值交给调用方继续执行。

# 系统相关函数 - 性能优化相关函数

文档类型：函数事实页
是否可直接用于生成代码：是；本页函数条目均包含参数表
遇到不确定时：回到 [../system.md](../system.md)、[../../index.md](../../index.md)

## 性能优化相关函数

### `setProfiler(flags)`

用途：设置性能分析开关与统计范围。

参数个数：1
返回值：无

| 参数位置 | 参数名  | 必填 | 接收类型 | 说明           |
| -------- | ------- | ---- | -------- | -------------- |
| 1        | `flags` | 是   | 整数     | 统计选项位掩码 |

### `getProfilerInfo(mode)`

用途：获取性能分析信息。

参数个数：1
返回值：性能分析信息

| 参数位置 | 参数名 | 必填 | 接收类型 | 说明                        |
| -------- | ------ | ---- | -------- | --------------------------- |
| 1        | `mode` | 是   | 整数     | 可选；传 1 仅返回信息不弹窗 |
