【发布时间】:2020-04-29 17:05:20
【问题描述】:
默认情况下,Raku 的“die”会报告“die”所在的行号,如果您想要调用上下文的行号,比如 perl 5 中的“carp”,该怎么办?
【问题讨论】:
-
FWIW 我现在正在开发一个模块。完成后会再次发布。
默认情况下,Raku 的“die”会报告“die”所在的行号,如果您想要调用上下文的行号,比如 perl 5 中的“carp”,该怎么办?
【问题讨论】:
现在在 GitHub 上有一个 Carp module 可用,并且很快就会在 Raku 生态系统中可用。它目前只支持最基本的功能,但随着时间的推移,它应该会得到改进。
所以你的问题的答案是像在 Perl 5 中一样使用 Carp。:-)
【讨论】:
没有直接等效于carp,但您可以使用--ll-exception 参数启动raku,这将在执行错误时创建完整堆栈跟踪.
我猜还没有人开始创建Carp 模块。鉴于有一个 Backtrace 类,创建一个 carp 子应该不会太难:
$ raku -e 'say "file: {.file}:{.line}" for Backtrace.new'
file: SETTING::src/core.c/Backtrace.pm6:94
file: SETTING::src/core.c/Backtrace.pm6:94
file: -e:1
【讨论】: