It is always a good idea writing exception details to an Error Log. You can refer to this file to determine a certain exception pattern, or track it down to specific times, but most importantly - you can track it to a certain event procedure, if written well enough. Here is a small example:
try
{
string fileWithDate = " " + Path.GetFileName(file).AppendTimeStamp();
File.Copy(file, ProcessedPath + @"\" + fileWithDate);
}
catch (Exception ex)
{
using (StreamWriter sw = new StreamWriter("My_ErrorLog.txt", true))
{
DateTime CurrDate = DateTime.Now;
sw.WriteLine();
sw.WriteLine(CurrDate.ToString());
sw.WriteLine("Button1_Click() - " + ex.ToString());
}
}
With the above try catch block, I attempted to copy a file. If something went wrong, the event name as well as the error gets written to an error log file named My_ErrorLog.txt