2012-10-04 50 views
4

我有一個C#4應用程序啓動另一個執行一些Python代碼。 Python代碼可以毫無問題地執行(在PythonWin上進行檢查)。
在我的應用程序中,我看到退出代碼是-2146234327。我一直在谷歌搜索,無法弄清楚它是什麼意思。
任何想法?
謝謝C#/ .Net啓動進程退出代碼-2146234327

回答

6

-2146234327是HRESULT代碼,通常在十六進制查找。見Interpreting HRESULTS returned from .NET/CLR: 0x8013XXXX

HOST_E_EXITPROCESS_TIMEOUT0x80131029過程退出由於 超時升級。

+0

感謝。你有什麼機會可以擴展一下它的含義?該進程成功執行給定的Python代碼,但出於某種原因返回此退出代碼。 – Noich

+1

正如你所見,MSDN並沒有解釋代碼,因爲它基本上是深入內部的。我最好的猜測是代碼被執行了,但是託管過程還活着一段時間(意外?),然後在清理過程中強行關閉了它 - 代碼指示了操作。它並不是說Puthon代碼本身存在問題。 –

1

我已經寫了一個基於事實的解決方法,這是一個警告,而不是一個錯誤。

我已經包括在運行分析和索引重建過程爲ArcGIS中DOS批處理文件中的以下

set myRC=%ERRORLEVEL% 
echo %myRC% 
set Constant=-2146234327 
echo %Constant% 
if %myRC% EQU %Constant% set ERRORLEVEL=0 
echo %ERRORLEVEL% 
  • 線1設置爲值的變量從呼叫命令返回例如調用D:\ Python27 \ ArcGIS10.2 \ python.exe D:\ Analyze \ Analyze.py >> D:\ Analyze \ Log \ output.txt
  • 第2行回顯返回的值
  • 第3行設置常量可變
  • 線4的回波這一點
  • 第5行比較從針對恆定的CALL命令返回的值,並設置所述變量ERRORLEVEL到零,如果它們匹配
  • 線6相呼應出的返回碼。

別處找到這些信息可能脫落在這個問題上多一點光:

https://github.com/ucd-cws/arcpy_metadata/issues/13