Skip to content

尝试 ​

执行可能出错的块,异常时交给 捕捉。

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

你可以…… ​

  • 把一整段危险操作包起来,出错统一善后——善后逻辑集中写在 捕捉 一处:
xuantie
尝试 {
    设 x = 10 / 0
    示("结果: " & 字(x))
} 捕捉 (错误) {
    示("捕获到错误,改用默认配置")
}

文件.读 返回 结果 容器而非裸字符串,它不触发 捕捉——请用 若 r.成功 { 设 内容 = r.值 } 处理。

  • 不要错误详情就省略变量——只写 捕捉 加块:
xuantie
尝试 {
    危险操作()
} 捕捉 {
    示("已兜底")
}

注意 ​

  • 可捕捉的运行时故障:除零、注解参数类型错误——在 尝试 块内抛出,块外保持旧行为(除零返 0)。可预期的失败请用 结果 类型加 ? 判断,那才是错误处理主路。
  • 不可捕捉(会直接以非零码退出进程,捕捉 兜不住):访问违例、堆损坏、解(非字符串) 之类的运行时类型错误(这类错误按「宁可报错退出」原则打印诊断后退出)。
  • 数组越界返 空、字典缺键返 空 不触发 捕捉——这是约定行为。
  • 多线程/异步/并行 块内不要用 尝试(处理器为进程级,跨线程不可靠)。
  • 捕捉 子句不能省略:尝试 块后面必须紧跟 捕捉,否则编译报错。

相关 ​

捕捉 · 终

基于 VitePress 静态构建 · 文档内容与仓库 GUIDE/ 同源

玄铁玄铁 XUANTIE · 中文系统级编程语言MARK 玄·折 120×120 · STROKE 8 · NO CURVES