Mos*_*aou 1 c# string.format multithreading exception
我有一个使用以下代码运行的方法:
private void WriteToDb()
{
using (SqlConnection dbConnection = new SqlConnection(_conStr))
{
dbConnection.Open();
using (SqlBulkCopy sbc = new SqlBulkCopy(_conStr))
{
sbc.DestinationTableName = "tblLog";
try
{
sbc.WriteToServer(_tblLog);
}
catch (Exception e)
{
Console.WriteLine(String.Format("{0} Error writing log info: {1} \n {3}", DateTime.Now.ToString(), e.Message, e.StackTrace));
}
}
}
_tblLog.Rows.Clear();
}
Run Code Online (Sandbox Code Playgroud)
我从String.Format()具有以下堆栈跟踪的方法接收异常:
未处理的异常:System.FormatException:索引(从零开始)必须大于或等于零且小于参数列表的大小.在System.String.Format(String格式,对象arg0)的System.String.Format(IFormatProvider提供程序,String格式,Object [] args)的System.Text.StringBuilder.AppendFormat(IFormatProvider提供程序,String格式,Object [] args)处,Object arg1,Object arg2)at MyCompany.MyClient.MySoftware.Logger.WriteToDb()
我真的能看到这个错误的根源.据我所知,我没有在该方法中使用任何集合.我还必须咀嚼这个方法是多线程的,但我再也想不到可能产生的影响.
谢谢!
| 归档时间: |
|
| 查看次数: |
3417 次 |
| 最近记录: |