错误处理

当前状态:实现层补充记录。语言级“编译错误 vs 运行时 panic”规则,现阶段应优先参考 表达式与语句。 本文主要保留为编译器报错实现和错误呈现方式的补充说明。

编译时错误

以下错误会在编译时被检测到:

语法错误 - 由语法分析器检测

类型错误 - 由语义分析器检测

未声明变量 - 由语义分析器检测

重复声明 - 由语义分析器检测

函数调用错误 - 由语义分析器检测

错误报告

语义分析器会提供详细的错误信息,包括:

错误位置 - 文件名、行号、列号

错误类型 - 类型错误、未声明变量等

错误描述 - 具体的错误信息

修复建议 - 可能的修复方法

// 错误示例
error: type mismatch
  --> src/main.dj:10:5
   |
10 |     x = "hello";
   |     ^^^^^^^^^^^
   |     expected int, found string