我已将Windows服务中发生的异常记录到数据库中。要记录异常,我使用了Exception.ErrorMessage。 以下是代码:
mailAddress = ""
queryString = "SELECT Column1 FROM TableName WHERE Column2= 'Value' "
dataReader = _dataAccess.ExecuteReader(queryString)
If dataReader.Read Then
If Not IsDBNull(dataReader.Item("Column1")) Then
mailAddress = CType(dataReader.Item("Column1"), String)
End If
End If
Catch块是:
Catch ex As Exception
LogIntoDataBase(ex.Message)
End Try
错误很少发生,数据库只包含“ColumnName”,没有别的。
我已经发现如果select查询不包含Column1而DataReader尝试读取它,那么抛出Exception,其中ErrorMessage只包含Column Name。但是在这里,一切都是静态的,查询永远不会改变,并且总是选择“Column1”。
我已经完成了猜游戏。还可以在此处记录其他内容,以便在一个月内发生一次的异常可以被捕获。或者有人可以猜出代码中可能出现的问题吗?