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

perl6 Catching non-fatal exceptions in autovivification

我正在运行分析大约10000行数字,其中一些行给我错误:"Use of uninitialized value of type Any in numeric context"。我正在尝试捕获此错误以查看是哪几行导致了问题。但是,X::TypeCheck 和其他 X::* 类 似乎无法有效捕获 Nil 或 Any 的自动生成。例如:

try { say Any + 1; CATCH { default { say "oh-no"; } }; }

在打印出警告消息后仍然给我答案“1”,并没有说出我想要的 "oh-no"。

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

非常感谢!!!

lisprog

使用quietlyCONTROL代替tryCATCH

quietly { say Any + 1; CONTROL { default { say "oh-no" } } }