小编use*_*651的帖子

如何在 Raku Cro 应用程序中实现全局异常处理

我正在使用一个相当大的 Cro 应用程序,其中包含数十条路线、模型和其他逻辑。目前每个路由块中都有一个CATCH处理异常的方法。这对维护来说不太友好,更不用说添加它们的工作了。所以,我想知道这是否是更好的方法。主路由块中的一个CATCH处理程序不起作用。异常仅在抛出异常的路由块中捕获。可能是线程问题。是否有一个地方可以实现一个异常处理程序,它可以获取所有异常并可以在不导致应用程序终止的情况下处理它们?

cro raku

10
推荐指数
1
解决办法
137
查看次数

Raku 语法:使用命名正则表达式而不消耗匹配的字符串

我有一个可能很容易回答 Raku 语法问题。我不会解析日志文件并通过日志条目取回条目日志条目。日志条目可以只是一行或多行字符串。

我的草稿代码如下所示:

grammar Grammar::Entries {
    rule TOP { <logentries>+ }

    token logentries { <loglevel> <logentry> }
    token loglevel { 'DEBUG' | 'WARN' | 'INFO ' | 'ERROR' }
    token logentry { .*? <.finish> }
    token finish { <.loglevel> || $ }
}
Run Code Online (Sandbox Code Playgroud)

这仅适用于第一行,因为在第二行中日志级别被第一行匹配消耗,尽管我使用了 '.' 在正则表达式 <> 中,据我所知意味着非捕获。

以下是日志示例:

INFO    2020-01-22T11:07:38Z    PID[8528]   TID[6736]:  Current process-name: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
INFO    2020-01-22T11:07:38Z    PID[8528]   TID[6736]:  Session data:
    PID: 1234
    TID: 1234
    Session: 1
INFO    2020-01-22T11:07:38Z    PID[8528]   TID[6736]:  Clean up.
Run Code Online (Sandbox Code Playgroud)

即使对于多行日志条目,恢复日志条目的正确方法是什么?谢谢!

grammar raku

6
推荐指数
1
解决办法
119
查看次数

标签 统计

raku ×2

cro ×1

grammar ×1