1

我的大部分代码都是用 try/catch 和OpenLog处理的错误(修改为处理 SSJS 异常)。不幸的是,SSJS 中的异常使堆栈跟踪难以阅读

所以我需要传递更多信息——至少事件/方法在哪里是错误处理程序。我可以简单地将“方法 XY”参数放在每个 OpenLog.logError 调用中,但这使得每个处理程序都是独一无二的并且容易出错(程序员喜欢 copypasta)。拥有LSI_Info等价物会很好,这使错误处理程序保持不变(因此您可以将它们定义为 Eclipse 中的模板)。

是否有任何调用返回 SSJS 代码(包括库)的方法/事件的“我在哪里”信息?

4

1 回答 1

6

查看我的调试工具栏的Message类中的代码(GitHub 上找到)。我包含一种“漂亮打印”错误的方法,还捕获了 com.ibm.jscript.InterpretException。我使用它将格式化的错误消息发送到OpenLog事件文档。它(某种程度上)模仿了您在默认 XPage 错误页面中获得的信息。

要查看格式化错误的样子,请转到我工具栏的演示页面并点击测试 1 或测试 2 按钮。这将引发由自定义错误表单捕获的 SSJS 错误。该表单将一条消息写入工具栏,该工具栏配置为还将错误消息存储在单独的 OpenLog 数据库中。

(可以在 OpenNTF 上找到工具栏下载

于 2013-02-21T15:12:50.610 回答