perl6在自动化中捕获非致命异常

lis*_*tor 6 exception autovivification perl6

我正在对大约10000行数进行分析,有些行给出了错误:"在数字上下文中使用Any的未初始化值".我试图捕获此错误,以查看哪些行导致问题.但是,X :: TypeCheck和其他X ::*类似乎没有有效地捕获Nil或Any的自动生成.例如:

try { say Any + 1; CATCH { default { say "oh-no"; } }; }
Run Code Online (Sandbox Code Playgroud)

在打印出警告信息后仍然给我回答"1"并且没有说出我想要的"哦 - 不".

捕获这些非致命自动更新错误的正确方法是什么?顺便说一下,是否有核动力的perl6调试器?

非常感谢你 !!!

lisprog

wam*_*mba 8

使用quietlyCONTROL不是tryCATCH:

quietly { say Any + 1; CONTROL { default { say "oh-no" } } }
Run Code Online (Sandbox Code Playgroud)

  • 你不需要`quietly`,只需要`CONTROL`块:`说Any + 1; 控制{说"哦 - 不"; .resume}` (5认同)