ODBC接続でいくつかのことを行うJScriptがあります。ODBC ActiveXObject オブジェクトによって例外がスローされ、スクリプトでキャッチされませんでした。スクリプトが 0 以外の値で終了すると予想していましたが、そうではありませんでした。これが事実である理由と、キャッチされていない例外で 0 以外の値で終了する方法を知っている人はいますか?
Edward Chan
質問する
1791 次
1 に答える
2
JScript エンジンは仮想マシンと考えることができます。JScript エンジン自体またはスクリプト ホストになんらかの壊滅的な障害が発生した場合、ゼロ以外の終了コードが返されることが予想されます (たとえば、スクリプト ホストが必要な DLL の 1 つを見つけることができなかったなど)。
ただし、この「VM」で実行されているスクリプト プログラムが例外をスローした場合、処理されていない例外であっても、エンジンまたはホストの障害にはなりません。
できることは、スクリプト全体を try ブロックに配置してから、catch で例外をスローすることです。スクリプト エンジンは、このスローされた例外を元の処理とまったく同じように処理します。
try
{
// the rest of your script
}
catch(e)
{
throw(e); // returns nonzero exit code
}
于 2009-04-07T09:09:14.467 に答える