複数の WCF サービス プロバイダー (バックグラウンドの Windows サービスでホストされている) によって使用されるエラー ログ ルーチンを作成しているため、キャッチした例外をログに記録できます。つまり、ルーチン内で例外をキャッチしたのが私である場合、どうすればよいかわかりません。
より具体的には、これが私の現在のルーチンです(VB.Netで):
Public Shared Sub LogError(Text As String, Filename As String, PathLog As String)
Try
PathLog = Path.GetFullPath(PathLog)
If Not Directory.Exists(PathLog) Then
Directory.CreateDirectory(PathLog)
End If
Dim PathFile As String = Path.GetFullPath(PathLog & "\" & Filename)
File.AppendAllText(PathFile, "[" & GetDateTimeWithMiliseconds() & "] " & vbNewLine & Text & vbNewLine)
Catch ex As Exception
'ToDo: WHAT TO DO?!
End Try
End Sub
Try
一般的な...を行うのではなく、おそらく例外を個別にキャッチする必要があることに気づきましたCatch
。しかし、私のポイントは、それらを捕まえたらどうするかということです。
- Windows サービスでホストされている WCF サーバーであるため、MessageBox をスローできません (できたとしても、すべきではありません)。
- エラー ログ ルーチンが既に失敗しているため、エラーをログに記録できない可能性が高いです。
私は渋滞中です
PS: 外部ロギング ソリューションは論外です