ASPエラーキャプチャのいくつかの一般的な処理方法
4427 ワード
3つの主要なエラータイプがあります.コンパイルエラー:このエラーの発生は一般的にコードの構文問題です.コンパイルエラーにより辞ASPが停止しました.
このエラーは、ASPを実行する準備ができているときに発生します.たとえば、変数に値を付与しようとしたが、その変数が許容する範囲を超えている場合.
論理エラー論理エラーは最も発見されにくい.このようなエラーは常に構造エラーであり、コンピュータでは発見できない.これは私たちのコードを徹底的にチェックする必要があります.コンパイルエラーは一般的に論理エラーとともに発生し、一般的に表示されるため、私たちが心配しているのは実行エラーだけです.ASPの実行を終了し、ユーザーに友好的ではない文字を捨てました.
では、実行エラーをどう処理すればいいのでしょうか!?まず、ASPが唯一私たちに提供してくれたエラーコマンド--On Error Resume Next(ここでは初心者に注意してください.ASPではOn Error Resume Next文しかなく、On Error Resume Goto文はありません)On Error Resume Next文を使用しないと、すべての実行エラーが発生します.これは致命的で、エラーコードがユーザーに「表示」され、ASPプログラムも停止します.
次のエラーコードは、Microsoft OLE DB Provider for ODBC Drivers error 800045[Microsoft][ODBC Driver Management]Data source name not found and no default driver specified/test.asp,line 60 On Error Resume Next文をプログラムの一番上で使用すると、すべてのエラーが無視され、プログラムは自動的に次の文を実行します.これによりプログラムは完全に実行され、エラー後もユーザーはエラー情報を表示しません.しかし、プログラムがあなたの想像通りに実行されなければ、どこが問題なのかを見つけるのが難しいので、必要な場所でエラーを処理しなければなりません.エラーを処理するASPの中で、エラーを処理する最も良い方法はプログラムの最底端にコードを置いてエラーを処理することです.私もASPプログラムごとにバッファを使うことをお勧めします.そうすると、エラーが発生するとページが停止し、ページの内容も消去され、ユーザーはエラーメッセージを見ることができず、あなたたちへの文句も少なくなります.次に例を示します.
このエラーは、ASPを実行する準備ができているときに発生します.たとえば、変数に値を付与しようとしたが、その変数が許容する範囲を超えている場合.
論理エラー論理エラーは最も発見されにくい.このようなエラーは常に構造エラーであり、コンピュータでは発見できない.これは私たちのコードを徹底的にチェックする必要があります.コンパイルエラーは一般的に論理エラーとともに発生し、一般的に表示されるため、私たちが心配しているのは実行エラーだけです.ASPの実行を終了し、ユーザーに友好的ではない文字を捨てました.
では、実行エラーをどう処理すればいいのでしょうか!?まず、ASPが唯一私たちに提供してくれたエラーコマンド--On Error Resume Next(ここでは初心者に注意してください.ASPではOn Error Resume Next文しかなく、On Error Resume Goto文はありません)On Error Resume Next文を使用しないと、すべての実行エラーが発生します.これは致命的で、エラーコードがユーザーに「表示」され、ASPプログラムも停止します.
次のエラーコードは、Microsoft OLE DB Provider for ODBC Drivers error 800045[Microsoft][ODBC Driver Management]Data source name not found and no default driver specified/test.asp,line 60 On Error Resume Next文をプログラムの一番上で使用すると、すべてのエラーが無視され、プログラムは自動的に次の文を実行します.これによりプログラムは完全に実行され、エラー後もユーザーはエラー情報を表示しません.しかし、プログラムがあなたの想像通りに実行されなければ、どこが問題なのかを見つけるのが難しいので、必要な場所でエラーを処理しなければなりません.エラーを処理するASPの中で、エラーを処理する最も良い方法はプログラムの最底端にコードを置いてエラーを処理することです.私もASPプログラムごとにバッファを使うことをお勧めします.そうすると、エラーが発生するとページが停止し、ページの内容も消去され、ユーザーはエラーメッセージを見ることができず、あなたたちへの文句も少なくなります.次に例を示します.
0 Then
'
Response.Clear
'
%>
<font face="ARIAL">An error occurred in the execution of this ASP page<br/>
Please report the following information to the support desk<p>
<b>Page Error Object</b><br/>
Number: <br/>
: <br/>
: <br/>
: <br/>
</p></font>
</code></pre>
</div>
<p> , On Error Resume Next , 。<br/> <br/> <br/> 。 , , insert/update , , ! 。 On Error Resume Next ! , 。<br/> , , : </p>
<div class="jb51code">
<pre><code>
If Err.Number = 0 And objConnection.Errors.Count = 0 Then
' ,
Set rstResults = dbData.Execute(txtSql)
End If</code></pre>
</div>
<p> <br/> , 。 , 。( , )。</p>
<p> </p>
<div class="jb51code">
<pre><code>
0 Then
Response.Clear
Select Case Err.Number
Case 8 ' Number
'
Case Else '
If IsObject(objConnection) Then
If objConnection.Errors.Count > 0 Then
%>
<b>Database Connection Object</b>
Error No: <br/>
Description: <br/>
Source: <br/>
SQLState: <br/>
NativeError: <p>
0 Then
%>
<b>Page Error Object</b><br/>
Error Number <br/>
Error Description <br/>
Source <br/>
LineNumber </p><p>
</p></code></pre>
</div>
<p> , ! Select Case , 。 <br/> Redirect <br/> , redirect , redirect , 。 , : </p>
<div class="jb51code">
<pre><code>
If Err.Number = 0 And objConnection.Errors.Count = 0 Then
Response.Clear
Response.Redirect ?lt;URL Here>?
End If</code></pre>
</div>
<p> <br/> , 。 。 。 <br/> ( )On Error Resume Next 。 <br/> SQL 。 <br/> redirect 。 <br/> </p>
<div class="clearfix">
<span id="art_bot" class="jbTestPos"/>
</div>
</div>
</div>
</div>