Norm 0.11
Norm 0.11 完成名义类型 Exception 与结构化异常控制流的纵向语言实现。
语言
std.core.Exception是可抛出异常的 class 根类型;throw接受非 nullable、非泛型的 Exception 子类型;try支持有序的catch和可选finally;- catch 按动态类型选择,更具体的类型必须位于一般类型之前;
- finally 覆盖 normal、return、throw、break 与 continue 完成态,并可替代原完成结果;
- 工具链运行时错误保持独立错误码,不被用户 catch 截获。
工具链
- Syntax、Semantic、Bound 与 Core 使用专用异常控制流节点和 catch 局部绑定;
- Core 身份边界升级为 Schema V7 与 Language Semantics V7;
- Truffle 保留异常对象身份、名义继承匹配、源码位置和 guest stack;
- parser、formatter、Language Server、VS Code 语法规则和跨 package 编译共享同一异常模型。