我试图抓住tRunJob subjob中引发的错误消息。作业树很少:
Main_Job -- execute a subjob and catch the output
> Sub_Job -- do some stuff and can raise an error.
对于测试,我尝试引发错误,但堆栈跟踪为空。
这些工作是这样的:
Sub_Job
包含tDie
以引发错误; Main_Job
中收到错误消息,可能是堆栈跟踪,所以在tRunJob
之后我用tJava
处理错误; tJava使用globalMap
来获取堆栈跟踪,如下所示:
System.out.println(
"myLog --->> "+ ((String)globalMap.get("tRunJob_1_ERROR_MESSAGE")));
System.out.println(
"myLog --->> "+ (String)globalMap.get("tRunJob_1_CHILD_EXCEPTION_STACKTRACE")));
控制台上的输出是平的:一般错误消息,没有堆栈:
myLog --->> Child job running failed.
myLog --->>
[statistics] disconnected
我想要CHILD_EXCEPTION_STACKTRACE
值,但是对于tRunJob似乎是空的。有什么选择我不明白吗?我是否需要从Sub_Job
内手动加载堆栈跟踪?怎么样?
以下是简单的Main_Job
和Sub_Job
:
由于