ASP スクリプトの処理について
更新 : 2007 年 11 月
クライアント スクリプトおよびエラーの処理方法を理解することにより、クライアント スクリプトを正しくデバッグできます。
クライアント スクリプトの処理
Microsoft Internet Explorer ではクライアント スクリプトを処理します。ブラウザは、VBScript スクリプトまたは JScript スクリプトを処理する適切なランタイム モジュールを呼び出します。
Web ドキュメントがブラウザに読み込まれると、クライアント スクリプトが最初に解析されます。解析中に検出された構文エラーは、ブラウザによってレポートされます。
スクリプトのセクションの解析が終了すると、ブラウザでスクリプトが実行されます。イベント処理のサブルーチンまたは関数の一部ではない、グローバル スクリプトまたはインライン スクリプトが最初に実行されます。イベント処理のサブルーチンまたは関数、およびその他のプロシージャによって呼び出されるプロシージャは、すぐに解析されます。ただし、イベントの発生または別のプロシージャによって呼び出されるまでは、実行されません。
クライアント スクリプトの実行中にランタイム エラーが発生すると、エラー メッセージが表示され、エラーを含むスクリプトは中断されます。ドキュメントのほかのクライアント スクリプトは、(デバッガを起動しない限り) そのまま実行できます。エラーを含むスクリプトが再度呼び出されると、エラー メッセージが再び表示されます。
使用する言語に応じて、ランタイム エラーをトラップして独自のエラー プロシージャを実行するステートメントをスクリプトに組み込むことができます。たとえば、VBScript では、ON ERROR ステートメントを使用してエラー トラップを設定できます。詳細については、スクリプト言語のドキュメントを参照してください。
サーバー スクリプトの処理
ほとんどのサーバー スクリプトは、イベント ドリブンではありません。ASP ファイルが要求されると、サーバーはページを読み取り、サーバー スクリプトを最初から最後まで処理します。HTML テキストに埋め込まれているインライン スクリプトは、処理のためにクライアントに戻されます。
すべてのサーバー スクリプトが、すぐに処理されるとは限りません。クライアント スクリプトと同様に、サーバー スクリプトには、ほかのプロシージャによって呼び出されたときにだけ実行される関数やサブルーチンも含まれることがあります。
Global.asa ファイルは特殊なケースです。Global.asa ファイルの Application_OnStart プロシージャと Session_OnStart プロシージャは、アプリケーションまたはセッションで 1 回だけ実行されます。このため、これらのイベントを簡単にデバッグするには、ファイルにデバッグ ステートメントを埋め込む必要があります。詳細については、「Global.asa ファイルのデバッグ」を参照してください。