WriteException メソッド (My.Application.Log および My.Log)

更新 : 2007 年 11 月

例外情報をアプリケーションのログ リスナに書き込みます。

' Usage
My.Application.Log.WriteException(ex)
My.Application.Log.WriteException(ex ,severity ,additionalInfo)
My.Application.Log.WriteException(ex ,severity ,additionalInfo ,id)
' Web usage
My.Log.WriteException(ex)
My.Log.WriteException(ex ,severity ,additionalInfo)
My.Log.WriteException(ex ,severity ,additionalInfo ,id)
' Declaration
Public Sub WriteException( _
   ByVal ex As System.Exception _
)
' -or-
Public Sub WriteException( _
   ByVal ex As System.Exception, _
   ByVal severity As System.Diagnostics.TraceEventType, _
   ByVal additionalInfo As String _
)
' -or-
Public Sub WriteException( _
   ByVal ex As System.Exception, _
   ByVal severity As System.Diagnostics.TraceEventType, _
   ByVal additionalInfo As String, _
   ByVal id As Integer _
)

パラメータ

  • ex
    必ず指定します。ログに記録する例外を指定します。

  • severity
    メッセージの種類を指定します。既定では Error です。

  • additionalInfo
    メッセージに付け加える文字列を指定します。既定では、空の文字列になります。

  • id
    相関に使用されるメッセージ ID を指定します。既定では、「解説」の表に示されているとおり entryType に関連付けられます。

例外

次の条件では例外が発生します。

解説

WriteException メソッドは、例外に含まれている情報をアプリケーションのイベント ログ リスナに書き込みます。

クライアント アプリケーションでは、My.Application.Log オブジェクトを通じて Log オブジェクトにアクセスできます。Web アプリケーションでは、My.Log オブジェクトを通じて Log オブジェクトにアクセスできます。

どのログ リスナが WriteException メソッドのメッセージを受信するかについては、「チュートリアル : My.Application.Log による情報の書き込み先の確認」を参照してください。既定のログ リスナは変更可能です。詳細については、「Visual Basic でのアプリケーション ログの使用」を参照してください。

id 引数を使用しないオーバーロードでは、ログに書き込まれる ID は次の表によって定義されます。

severity

既定の id

Information

0

Warning

1

Error

2

Critical

3

Start

4

Stop

5

Suspend

6

Resume

7

Verbose

8

Transfer

9

処理手順

WriteException メソッドに関連するタスクの例を次の表に示します。

目的

参照項目

例外情報をアプリケーションのイベント ログ リスナに書き込む

方法 : Visual Basic で例外をログに記録する

Log が情報をどこに書き込むかを調べる

チュートリアル : My.Application.Log による情報の書き込み先の確認

使用例

この例は、My.Application.Log.WriteException メソッドを使用して例外をログに記録する方法を示しています。NullReferenceException 例外を発生させるには、Dim 行と MsgBox 行をコメントから外してください。詳細については、「方法 : Visual Basic で例外をログに記録する」を参照してください。

Public Sub ExceptionLogTest(ByVal fileName As String)
    Try
        ' Code that might generate an exception goes here.
        ' For example:
        '    Dim x As Object
        '    MsgBox(x.ToString)
    Catch ex As Exception
        My.Application.Log.WriteException(ex, _
            TraceEventType.Error, _
            "Exception in ExceptionLogTest " & _
            "with argument " & fileName & ".")
    End Try
End Sub

このコード例は、クライアント アプリケーション内でのみ実行できます。Web アプリケーションの場合は、My.Application.Log.WriteException を My.Log.WriteException に変更します。

必要条件

名前空間 : Microsoft.VisualBasic.Logging

クラス : Log

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

プロジェクトの種類ごとの可用性

プロジェクトの種類

可用性

Windows アプリケーション

クラス ライブラリ

コンソール アプリケーション

Windows コントロール ライブラリ

Web コントロール ライブラリ

不可

Windows サービス

Web サイト

アクセス許可

次のアクセス許可が必要です。

アクセス許可

説明

FileIOPermission

ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted

詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。

参照

処理手順

方法 : Visual Basic で例外をログに記録する

チュートリアル : My.Application.Log による情報の書き込み先の確認

概念

Visual Basic でのアプリケーション ログの使用

参照

My.Application.Log オブジェクト

My.Log オブジェクト

System.Exception

System.Diagnostics.TraceEventType

Log.WriteException