- PR -

アプリケーションレベルで実行時のエラーを拾う

1
投稿者投稿内容
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-04-18 10:53
アプリケーションレベルで実行時のエラーを拾うには

Try...Catch, Page_Error 双方とも使用していないときは、Application_Error で実行時のエラーを拾うことができます。

Application_Error は、Global.asax ファイルに記述します。このファイルは、アプリケーションのディレクトリのルートに格納します。

ここで紹介するサンプルは、Application_Error で実行時のエラーを拾ったらエラー情報を Webmaster にメールにて送信しています。

私のサイトでは、1日約1000件のアクセスがありますが2-3通の実行時のエラーが報告されます。


Global.asax

コード:
<%@ Import Namespace="System.Web.Mail" %>
<Script Runat="Server">
Sub Application_Error
  Dim objMail As New MailMessage
  Dim objSmtp As SmtpMail
  With objMail	
    .From = "webmaster@" & Request.ServerVariables("SERVER_NAME")
    .To = "xxxxw@friendlysw.com"
    .Subject = "Application_Error"
    .Body = Request.Path
    .Body &= vbNewLine
    .Body &= Context.Server.GetLastError.Message
  End With
  With objSmtp
    .SmtpServer = "mail.friendlysw.com"
    .Send(objMail)  
  End With
  Context.Server.ClearError()
End Sub
</Script>



Happy Programming!
Akio Kasai
1

スキルアップ/キャリアアップ(JOB@IT)