ASPエラー処理
ASPは非常にシンプルであるため、多くの開発者はエラー処理について考えていません。エラー処理により、アプリケーションがよりリーズナブルになります。 ASPで書かれた多くの商用Webサイトを見てきましたが、そのほとんどはエラー処理を無視しています。
間違ったタイプ
3つの主なエラータイプがあります。
コンパイルエラー:
この種のエラーは、コード構文の問題のために一般的に発生します。 ASPは、コンピレーションエラーのために実行を停止しました。
エラーを実行します
このエラーは、ASPを実行する準備ができたときに発生します。たとえば、変数に値を割り当てようとしますが、変数で許可されたスコープを超えています。
論理エラー
論理エラーを検出するのが最も困難です。この種のエラーは、多くの場合、コンピューターでは発見できない構造的エラーです。これには、コードを徹底的に確認する必要があります。
コンピレーションエラーは通常、論理エラーとともに発生し、一般に表示される可能性があるため、心配しているのは操作エラーです。それはすべてASPの操作を終了し、ユーザーには非常に友好的でないテキストの束を残します。
では、操作エラーにどのように対処しますか! ?最初に見てみましょう。 ASP- Onerrorresumenextによって提供された唯一のエラーコマンド(ASPにはOnerrorresumenextステートメントのみがあるが、onerrorresumegotoステートメントはないことを初心者に思い出させたいと思います)
onerrorresumenextステートメントを使用しないと、すべての実行エラーが発生し、致命的であり、ユーザーにエラーコードが「表示」され、ASPプログラムも停止します。
これがエラーコードです:
ODBCDRIVERSERROR80004005のMicrosoft OLEDBプロバイダー
[Microsoft] [ODBCDRIVERMANAGER] DATASOURCENAMENOTEDEDANDNODEFAULTDRIVERSPEIDIFIED
/test.asp、line60
プログラムの上部でOnerrorResumenextステートメントを使用すると、すべてのエラーが無視され、プログラムは次のステートメントを自動的に実行します。このようにして、プログラムは完全に実行され、ユーザーはエラーが発生した後にエラーメッセージが表示されません。しかし、この方法では不利な点もあります。つまり、プログラムが想像するように実行されない場合、何が間違っているのかを知ることは難しいので、必要に応じてエラーに対処する必要があります。
取り扱いエラー
ASPでは、エラーに対処する最良の方法は、エラーを処理するためにプログラムの下部にコードを配置することです。また、すべてのASPプログラムでバッファーを使用することをお勧めします。このようにして、エラーが発生した場合、ページは停止し、ページコンテンツがクリアされ、ユーザーがエラーメッセージが表示されず、あなたに関する苦情が少なくなります!これが例です:
<%
'バッファーをtrueに設定します
Response.buffer = true
'エラー処理を開始します
onerrorresumenext
%>
<%
'エラー処理
iferr.Number <> 0then
'ページをクリアします
Response.Clear
'ユーザーにエラーメッセージを表示します