2008年12月2日火曜日

Win32でのRuntime.getRuntime().exec() のexitCode

Cscript.exe などを実行すると、エラーがでてもexitCodeは「0」のまま?
どうも、明示的に指定しておかないといけないらしい。つまり、WScript.Quit(n)
を入れておかないと、CScript.exe は正常終了と考えてしまうようだ。

■例

var error_level = 0;
try
{
// varius processes
if (ok){
error_level = 0;
}else{
error_level = 2;
}
}
catch(e)
{
WScript.StdErr.WriteLine("error:" + e.message);
error_level = 1;
}
finally
{
WScript.Quit(error_level);
}

0 件のコメント: