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