try:
some code that can raise an error
except:
do error handeling stuff
finally:
clean up, close files etc
はVBScriptでエミュレートすることができます:このWORを行う方法
class CustomErrorHandler
private sub class_terminate
if err.number > 0 then
do error handeling stuff
end if
clean up, close files etc
end sub
end class
with new CustomErrorHandler
some code
...
end with
k?新しく作成されたインスタンスがスコープから外れると、 'class_terminate'メソッドが呼び出されます。これは、インターペーターが 'end with'ステートメントにヒットした場合、またはエラーのためにコールスタックが巻き戻された場合に発生します。それはネイティブのPythonのアプローチではそれほど綺麗ではありませんが、かなりうまく動作し、醜くはありません。
トップレベルのエラー処理については、同じ手法を使用できます。今回はwith文を使用せず、エラーハンドラのグローバルインスタンスを作成します。 Server.getLastError()が提供するASPErrorオブジェクトは、vbscriptエラーオブジェクトと同じではなく、IISがserver.transferを500:100エラーハンドラに渡した後にのみ使用可能で、ページに戻ってごみ。ハンドラの例:
class cDebugger
public sub do_debug
' print debug data here
end sub
public sub class_terminate
if server.getlasterror().Number <> 0 then
response.clear
call do_debug
end if
end sub
end class
VB6オブジェクトを読み込んでいると仮定できますか? – ChaosPandion
あなたは、ネットでIHttpModuleを作成し、Webサイトにエラーをトラップするために、あなたのモジュールをウェブサイトに接続することは可能だと思いましたか? –
Global.ASAで懸念しているアプリケーションレベルの活動の例を挙げることができますか? ON ERROR RESUME NEXTを除いて、私は多くのことは考えていません。 – CLaFarge