![]() |
1
19
我大约一周前编写了这段代码,以帮助我跟踪主要来自非交互式R会话的错误。它仍然有点粗糙,但它会打印一个堆栈跟踪并继续。如果这有用的话,请告诉我,我会对你如何使这个信息更丰富感兴趣。我也愿意以更清洁的方式获取这些信息。
PS:您可能不希望warn=2(警告转换为错误) |
![]() |
2
10
最后,我编写了一个通用日志记录器,当调用标准的“消息”、“警告”和“停止”方法时,会产生类似Java的日志记录消息。它包括时间戳和警告及以上的堆栈跟踪。 多谢 Man Group 获取分发此文件的权限!同时也要感谢鲍勃·奥尔布赖特,他的回答让我比我正在寻找的更具说服力。
要使用它,只需将它包装在代码中:
在没有错误的情况下输出更安静(对测试有用!),设置silentsuccess标志。只有在发生错误时才会输出消息,以便为失败提供上下文。 要实现原始目标(转储堆栈跟踪+继续),只需使用尝试:
|
![]() |
3
8
如果对触发选项(错误…)感兴趣,也可以这样做:
据我所知,它完成了Bob建议解决方案的大部分功能,但具有更短的优势。 (可根据需要自由组合keep.source=true、warn=2等。) |
![]() |
4
5
你试过了吗
设置?钱伯斯的“数据分析软件”对调试有一些有用的提示。 |
![]() |
5
1
没有行号,但这是迄今为止我发现的最接近的行号:
|
![]() |
6
0
我想你需要用
|
![]() |
7
0
这是对上面@chrispy的回答的后续,他在这里提出了一个
为了说明这一点,请考虑以下代码:
如果我执行命令
我不想看到那个
为了方便其他人阅读,这里是我现在使用的函数的完整版本(从WithJavaLogging重命名为Logfully,并稍微重新格式化以适应我的可读性偏好):
如果我执行命令
|
![]() |
8
-1
我写了一个解决方案
我的答案中有更多信息: https://stackoverflow.com/a/40899766/1587132 |