1
こんにちは私は現在IBM Spssを使用していますが、例外が発生したコード行を取得できるようにコードが例外をスローする方法があるかどうかは疑問でした?私は実行された行のスタックにアクセスし、そこからこの情報を引き出すために行番号を取得できますか?すべてのアイデアは素晴らしいだろう事前にありがとう!例についてはSpss(mrScriptBasic)エラー処理エラーが発生したコードを取得する
は:
Dim x, y, z
On Error Goto ErrorHandler
x = 30
y = 0
z = x/y 'would like to grab this code since this is where the error occurred
Exit
ErrorHandler:
debug.Log(Err.Description + _
" error occurred on line number " + _
CText(Err.LineNumber))
ありがとうございます@JKP私はブロックについて考えて例外をキャッチしていますが、私がしようとしていることは、エラーが発生した実際のコードを取得する必要があります。あなたはこれをマクロ展開で可能にすることができました。私自身のスタックを作成し、ここで追跡していますか?もっと情報をくれてくれますか? – paul590
マクロがない場合は、コマンドの配列を保持して1つずつ実行するだけで十分ですが、ストリームにINSERTコマンドまたはINCLUDEコマンドがある場合は、INSERT/INCLUDEファイルの内容ではなく、これらのファイルの内容を傍受して読み込み、コマンドを解析する必要があります。簡単ではありません。 – JKP
マクロを使用すると、SET MPRINT ONを実行し、ジャーナルファイルからコマンドをスクラップできます。これは、おそらく、エラーの場合にジャーナルファイルの末尾を見れば、実際には最良の戦略かもしれないと私は思う。ジャーナリングファイルは、ジャーナリングがオンであると仮定して、すべての実際の構文を記録し、ファイルはすべてのコマンドの後でディスクにフラッシュされるので、常に最新です。エラーが発生した場合の内容は次のとおりです。 – JKP