这里我从数据库中读取数据,循环结果,并将包含HTML字符串行的列值传递给函数。此函数从HTML输入中提取<body>
标记和内容。
当一个断点被添加到debug并且我逐步执行代码时,一切正常。删除断点时,只创建一个文件但不抛出异常。代码:
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
try
{
getBody(ds.Tables[0].Rows[i]["MailText"].ToString());
}
catch(Exception exp)
{
Response.Write(exp.ToString());
}
}
public void getBody(string html)
{
try
{
HtmlDocument HD = new HtmlDocument();
HD.LoadHtml(html);
string output = HD.DocumentNode.SelectSingleNode("//body") == null ? HD.DocumentNode.InnerHtml : HD.DocumentNode.SelectSingleNode("//body").InnerHtml;
using (StreamWriter sw = new StreamWriter(Server.MapPath("OnlyBody/") + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".txt"))
{
sw.Flush();
sw.Write(output);
if (sw != null)
{
sw.Close();
sw.Dispose();
}
}
}
catch (Exception exp)
{
throw exp;
}
finally
{
}
}
起初我认为问题出在文件流上,但即使在处理StreamWriter
后,错误仍然存在。
答案 0 :(得分:3)
使用断点调试时,此代码块将返回不同的结果:
DateTime.Now.ToString("ddMMyyyyhhmmss")
没有断点,秒(ss
)不会递增,因为代码执行得太快。