前章は不要だと言っている友人も見かけましたが、考えてみれば確かにこのような基礎的な話をするつもりはなかったのですが、書くことに制限がなかったので、そのまま基礎編に進みました。このセクションからは、ASP の 3 つの主要な一般クラスのいくつかを紹介します。これらは、私が設計した 3 層アーキテクチャで実行され、多くの詳細の処理効率を向上させることができます。それらはちょっとしたフレームワークとみなすことができます。
このセクションでは、エラー処理クラスを紹介します。クラス名は、コード ページの先頭で初期化されます。次の e.add は、このエラー クラスのインスタンス化されたオブジェクトを使用します。
方法の紹介:
e.Add(ByVal vErrorMessage) はエラーを記録し、e.Error = true を設定します。プログラムがユーザー名の有効性をチェックするときにエラーが見つかった場合、このメソッドが呼び出され、エラー メッセージが記録されます。
たとえば、ユーザーのログイン時のパスワードが間違っている場合は、e.add を呼び出します (アカウントまたはパスワードが間違っています)。このとき、エラー オブジェクト e とエラー オブジェクト e の属性にエラーが記録されます。 Error=true。以降の操作では、エラー オブジェクトのこのプロパティを使用して判断できます。
例えば:
エラーが発生すると、エラーを通知する小さなウィンドウがポップアップ表示され、前のページに戻ります。
e.エラーの場合
e.Alert_Back 再度ログインしてください。 'Alert_Back の機能は後ほど紹介します。
終了する場合
e.Alert_Back(ByVal vMessage) は、JavaScript を使用してエラー プロンプト ボックスをポップアップし、現在のすべてのエラーのリストを表示します。Alert_Back(vMessage) の vMessage は最後の行に表示され、これを見た後に実行する手順をユーザーに求めます。エラー メッセージを表示し、前のページに戻ります。誰もが理解できるように、このメソッドのコードを投稿します。
パブリック サブ アラート_バック(ByVal vMessage)
strJSMessage = JSMessage & vMessage 'JSMessage は、e オブジェクトにエラー リストを格納するために使用され、各エラーは /n で区切られます。
%>
<スクリプト言語=javascript>
<!--//
alert(<%=strJSMessage %>); 'エラー ボックスをポップアップします。
History.back(); '前のページに戻る
//-->
</script>
<%
response.end 'プログラムの実行継続中のエラーを避けるために、出力はここで停止する必要があることに注意してください。
エンドサブ
e.Alert_Back メソッドは、同様の効果を持ついくつかのメソッドを拡張しています。実装プロセスについては、添付のソース コードを参照してください。
e.Alert(ByVal vMessage) は、エラー プロンプト ボックスを表示するだけで、前のページには戻りません。また、プログラムの実行は停止しません。
e.Alert_Close(ByVal vMessage) は、ユーザーが [OK] をクリックすると、エラー プロンプト ボックスをポップアップ表示し、現在のウィンドウを閉じます。
e.OK_Go(ByVal vMessage,ByVal vURL) は、メッセージ プロンプト ボックスをポップアップ表示し、ユーザーが [OK] をクリックすると、vURL ページに移動します。
e.Go(ByVal vURL) vURLページに直接ジャンプします
上記のメソッドの機能は誰もがよく知っているはずですが、実際にはエラー処理に限定されません。
e.Clear は、エラー オブジェクトに記録されたエラー情報をクリアします。e.Error = false
e オブジェクトはグローバル オブジェクトであるため、多くのプロセスで呼び出される可能性があります。特定のモジュールのエラーのみをカウントする必要がある場合は、最初にこのメソッドを呼び出して e のエラーをクリアできます。
以下は、使用の利便性と速度を目的とした、Response.Write のパッケージです。
e.Debug(ByVal vMessage) はデバッグ情報を出力します。プログラムが完了すると、Response.write を使用して大量のエラー デバッグ情報が出力されます。これらをすべて削除し、e.Debug を使用して注意深く探す必要があります。デバッグ情報を出力するため、プログラムが完了したら、e.Debug を検索するだけですべてのデバッグ エラー情報の場所を見つけることができます。
ew(ByVal vMessage) は情報を出力します。これは Response.write の単純なラッパーにすぎません。プログラムに ew を入力する方が、Response.write を入力するよりもどれほど便利であるかは不明です。また、常に間違いを犯しやすいものです。 。
e.BR は改行文字を出力します。これは、response.Write <BR /> と同等です。
次の 4 つは、Response.End のパッケージであり、操作習慣に従って定義された同じ機能を持つメソッドのいくつかです。
e.一時停止 == 応答.終了
eP==応答.終了
e.Stop == Response.End
e.End == 応答.End
e オブジェクト内のすべてのエラーのリストを出力する属性 e.Message もあります。
具体的な実装の詳細については、コードを参照してください。
次のようにコードをコピーします。
ClassCon_Error
プライベートblnエラー
プライベート strMessage
プライベート strJSMessage
プライベートサブクラス_initialize()
blnエラー = false
strメッセージ =
エンドサブ
プライベートサブクラス_Terminate()
エンドサブ
' ================================================ =================================
' 財産
' ================================================ =================================
'メッセージ:
Public プロパティ Let Message(ByVal 値)
strMessage = 値
終了プロパティ
パブリック プロパティ Get Message()
メッセージ = strMessage
終了プロパティ
'エラー番号
パブリック プロパティ GetError()
エラー = blnエラー
終了プロパティ
' JSMessage: メッセージボックスに表示
プライベート プロパティ GetJSMessage()
strJSMessage = Replace(strMessage, <br>, /n)
strJSMessage = Replace(strJSMessage, vbCrLf,)
JSMessage = strJSMessage
終了プロパティ
' ================================================ =================================
'方法
' ================================================ =================================
' 追加 : エラーメッセージを追加します
Public Sub Add(ByVal vMessage)
blnError = true
strMessage = strMessage & vMessage & <br>
エンドサブ
パブリックサブクリア
blnエラー = false
strメッセージ =
エンドサブ
「警告」
パブリックサブアラート(ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<スクリプト言語=javascript>
<!--//
アラート(<%=strJSMessage %>);
//-->
</script>
<%
エンドサブ
' Alert_Back : アラートとバック
パブリック サブ アラート_バック(ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<スクリプト言語=javascript>
<!--//
アラート(<%=strJSMessage %>);
履歴.back();
//-->
</script>
<%
応答.終了
エンドサブ
'Alert_Close: 警告して閉じる
パブリックサブアラート_クローズ(ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<スクリプト言語=javascript>
<!--//
アラート(<%=strJSMessage %>);
window.opener = null;
window.close();
//-->
</script>
<%
応答.終了
エンドサブ
「************************************************
'デバッグ:response.write 、デバッグ メッセージを簡単に削除するために使用します。ファイルから e.Debug を検索するだけです。
「************************************************
Public Sub OK_Go(ByVal vMessage,ByVal vURL)
strJSMessage = JSMessage & vMessage
%>
<スクリプト言語=javascript>
<!--//
アラート(<%=strJSMessage %>);
location.href = '<%=vURL %>';
//-->
</script>
<%
応答.終了
エンドサブ
Public Sub Go(ByVal vURL)
応答.リダイレクト vURL
応答.終了
エンドサブ
「************************************************
'デバッグ:response.write 、デバッグ メッセージを簡単に削除するために使用します。ファイルから e.Debug を検索するだけです。
「************************************************
パブリックサブデバッグ (ByVal vMessage)
応答.vMessage の書き込み
応答.フラッシュ
エンドサブ
'****** W: 書き込み
パブリックサブW(ByVal vMessage)
応答.vMessage の書き込み
エンドサブ
'****** BR: 書き込み<br>
パブリックサブBR
応答。書き込み<BR />
エンドサブ
「************************************************
'一時停止:response.end、デバッグ情報を明確にマークします
「************************************************
パブリックサブポーズ
応答.終了
エンドサブ
パブリックサブP
応答.終了
エンドサブ
パブリックサブ [停止]
応答.終了
エンドサブ
パブリックサブ[終了]
応答.終了
エンドサブ
終了クラス