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
必要項。要記錄的例外狀況 (Exception)。severity
訊息類型。根據預設,Error。additionalInfo
要附加至訊息的字串。根據預設,這是空字串。id
訊息識別項,通常用於相互關聯。根據預設,是與 entryType 相關 (如「備註」一節中的表格所述)。
例外狀況
下列情況會造成例外狀況:
例外狀況或訊息類型為 Nothing (ArgumentNullException)。
訊息類別不是其中一個 TraceEventType 列舉值 (InvalidEnumArgumentException)。
具有部分信任的程式碼會呼叫方法,但要寫入需要完全信任的事件記錄檔接聽程式 (Listener) (SecurityException)。
備註
WriteException 方法會將例外狀況中內含的資訊寫入應用程式的事件記錄檔接聽程式。
在用戶端應用程式中,透過 My.Application.Log 物件可以使用 Log 物件。在 Web 應用程式中,透過 My.Log 物件可以使用 Log 物件。
若要知道哪些記錄檔接聽程式會接收 WriteException 方法的訊息,請參閱逐步解說:判斷 My.Application.Log 寫入資訊的位置。您可以變更預設記錄檔接聽程式。如需詳細資訊,請參閱在 Visual Basic 中使用應用程式記錄檔。
若是不使用 id 引數的多載,便會利用下表所定義之寫入記錄檔的識別項。
severity |
預設 id |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
工作
下表列出包含 WriteException 方法的工作範例。
若要 |
請參閱 |
---|---|
將例外狀況資訊寫入應用程式的事件記錄檔接聽程式。 |
|
判斷 Log 在何處寫入資訊。 |
範例
這個範例會顯示如何使用 My.Application.Log.WriteException 方法記錄例外狀況。取消 Dim 和 MsgBox 行的註解,會造成 NullReferenceException 例外狀況。如需詳細資訊,請參閱 HOW TO:在 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。
需求
命名空間 (Namespace)︰Microsoft.VisualBasic.Logging
類別︰Log
組件 (Assembly):Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)
依專案類型的可用性
專案類型 |
是否可用 |
---|---|
Windows 應用程式 |
是 |
類別庫 |
是 |
主控台應用程式 |
是 |
Windows 控制項程式庫 |
是 |
Web 控制項程式庫 |
否 |
Windows 服務 |
是 |
網站 |
是 |
使用權限
下列使用權限可能為必要:
使用權限 |
描述 |
---|---|
控制存取檔案和資料夾的功能。關聯的列舉型別:Unrestricted。 |
請參閱
工作
逐步解說:判斷 My.Application.Log 寫入資訊的位置