有没有办法在不消除异常的情况下捕获日志?在我的测试框架中,我想消除输出文件中打印/写入/处理异常导致的混乱,因此我尝试在日志捕获( Eval( testExpression ) )内执行测试代码。 我的问题是,这似乎也消除了评估 testExpression 时引发的任何异常,这是我没想到的。
举个例子:
Try(
logs = Log Capture(
Throw( "newsflash buddy!" );
);<BR /> Print( "Logs: " || logs );
,
Print( "Error:" || exception_msg )
);
我想获取日志,但仍然会陷入捕获状态,以防捕获中的代码抛出异常。
附带问题:我抛出的异常实际上并没有出现在日志中,这进一步让我困惑为什么捕获会使其静音。
自动化和脚本编写回复:有没有办法在不消除异常的情况下捕获日志?看看这个功能是否适合您的目的。

回复:有没有办法在不消除异常的情况下捕获日志?嗨,马克,您链接的功能就是我在原来的帖子中提到的功能。 我遇到的问题是捕获内表达式中引发的异常被抑制。 例如,在上面的代码片段中,catch 块中的 Print 不会被执行。
回复:有没有办法在不消除异常的情况下捕获日志?我不记得细节了,但 LogCapture 有必要处理任何未解决的抛出。 它不能重新抛出并将结果保存到日志没有你的帮助——像这样:
Try(
logs = Log Capture(
Try(
rememberException = Empty();
Print( "Hello" );
Throw( "newsflash buddy!" );
,
rememberException = exception_msg
)
);
Print( "Logs: " || logs );
If( !Is Empty( rememberException ),
throw( "remember: " || rememberException )
);
,
Print( "Error: " || exception_msg )
);
“日志:
\!“你好\!””
“错误:记住:新闻快讯伙计!”
回复:有没有办法在不消除异常的情况下捕获日志?我忘了提到,您可以保存该函数返回的结果以供检查。@Craige_Hales ' 回复显示了如何使用此函数,而不是从作为参数提供的任何代码中进行打印。 对于造成的混乱,我深表歉意。
回复:有没有办法在不消除异常的情况下捕获日志?谢谢克雷格,这太完美了!