用于在C#上记录SqlClient异常错误的工具

时间:2017-09-11 14:11:57

标签: c# .net sql-server visual-studio sqlexception

我有一个c#应用程序,它在sql server数据库中做了一些选择。 我使用.net框架中的SqlClient函数。

应用程序在晚上运行,有时应用程序崩溃:

Application : XXXXX.EXE
Version du Framework : v4.0.30319
Description : le processus a été arrêté en raison d'une exception non gérée.
Informations sur l'exception : System.ComponentModel.Win32Exception

Informations sur l'exception : System.Data.SqlClient.SqlException
   à System.Data.SqlClient.SqlConnection.OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1<System.Action>)
   à System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(System.Data.SqlClient.TdsParserStateObject, Boolean, Boolean)
   à System.Data.SqlClient.TdsParser.TryRun(System.Data.SqlClient.RunBehavior, System.Data.SqlClient.SqlCommand, System.Data.SqlClient.SqlDataReader, System.Data.SqlClient.BulkCopySimpleResultSet, System.Data.SqlClient.TdsParserStateObject, Boolean ByRef)
   à System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   à System.Data.SqlClient.SqlDataReader.get_MetaData()
   à System.Data.SqlClient.SqlCommand.FinishExecuteReader(System.Data.SqlClient.SqlDataReader, System.Data.SqlClient.RunBehavior, System.String)
   à System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, Boolean, Int32, System.Threading.Tasks.Task ByRef, Boolean, System.Data.SqlClient.SqlDataReader, Boolean)
   à System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String, System.Threading.Tasks.TaskCompletionSource`1<System.Object>, Int32, System.Threading.Tasks.Task ByRef, Boolean)
   à System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String)
   à System.Data.SqlClient.SqlCommand.ExecuteReader(System.Data.CommandBehavior, System.String)
   à System.Data.SqlClient.SqlCommand.ExecuteReader()
   à XXXXX.Program.Fct01(System.String, System.String, System.String, System.Data.DataRow, System.String ByRef, System.String ByRef)
   à XXXXX.Program.Gestion_Articles(System.String)
   à XXXXX.Program.Main(System.String[])

每次运行都不会发生错误。 我有一些难以找到问题,当我在调试模式下运行时,一切都很好......

我想知道它是否存在一种工具或方法来获取有关此崩溃的一些额外信息。

1 个答案:

答案 0 :(得分:3)

用try / catch包装它,然后记录消息和innerException,以及你尝试用sql执行的任务。

您还可以使用log4net(nuget包)之类的东西来记录错误,但这不是问题。