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