Effects编译指示
effects 编译指示旨在帮助程序员进行效果分析。 这是一个声明,使编译器将所有推断的效果输出到 effects 的位置:
- proc p(what: bool) =
- if what:
- raise newException(IOError, "IO")
- {.effects.}
- else:
- raise newException(OSError, "OS")
编译器生成一条提示消息,可以引发 IOError 。 未列出 OSError ,因为它不能在分支中引发 effects 编译指示。