line编译指示
line pragma可用于影响带注释语句的行信息,如堆栈回溯中所示:
- template myassert*(cond: untyped, msg = "") =
- if not cond:
- # 更改'raise'语句的运行时行信息:
- {.line: instantiationInfo().}:
- raise newException(EAssertionFailed, msg)
如果 line 编译指示与参数一起使用,则参数需要是 tuple[filename: string, line: int] 。 如果在没有参数的情况下使用它,则使用 system.InstantiationInfo() 。