【问题标题】:Managing external code errors管理外部代码错误
【发布时间】:2018-04-08 21:27:05
【问题描述】:

我正在尝试在 OpenMDAO 2 中运行一个外部代码,该代码在 Windows shell 中作为运行过程的一部分输出一些小错误消息。这些错误消息不会影响代码的结果,并且代码本身可以正常运行。但是,OpenMDAO 会在检测到这些错误消息时引发错误并停止。 OpenMDAO 是否可以忽略这种情况并继续运行分析?我尝试将 fail_hard 选项设置为 false,但它似乎并没有改变行为,除了 OpenMDAO 引发分析错误而不是运行时错误。

【问题讨论】:

  • 您能否提供一个简单示例来说明您提出的错误类型?我怀疑您正在输出到 stderr 并且子进程将其视为异常。但是没有例子很难提供帮助
  • @JustinGray,是的,外部代码正在从批处理文件运行并输出到标准错误。引发错误的具体错误消息是“(此时意外”,这是由于脚本中的某些符号被 windows shell 误解。openmdao 的最终错误行如下所示:File "C:\Users\44369\AppData\Local\Continuum\anaconda3\lib\site-packages\openmdao\components\external_code.py", line 176, in compute err_fragment)) openmdao.core.analysis_error.AnalysisError: return_code = 255 Error Output: & was unexpected at this time.

标签: openmdao


【解决方案1】:

我们可以实现一个功能,让你指定允许的返回码..只要你能列举出哪些返回码不是错误,我想这会解决你的问题吗?

【讨论】:

  • 据我了解,目前唯一可用的选项是修复外部代码,使其不会向 stderr 输出任何错误消息?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
  • 1970-01-01
  • 2015-05-28
  • 2014-11-29
  • 1970-01-01
相关资源
最近更新 更多