Если вы передадите свое исключение следующей функции, она предоставит вам все методы и детали, которые являются причинами исключения.
public string GetAllFootprints(Exception x)
{
var st = new StackTrace(x, true);
var frames = st.GetFrames();
var traceString = new StringBuilder();
foreach (var frame in frames)
{
if (frame.GetFileLineNumber() < 1)
continue;
traceString.Append("File: " + frame.GetFileName());
traceString.Append(", Method:" + frame.GetMethod().Name);
traceString.Append(", LineNumber: " + frame.GetFileLineNumber());
traceString.Append(" --> ");
}
return traceString.ToString();
}
Результат:
Файл: c: \ MyProject \ Program.cs, метод: MyFunction, номер строки: 29 ->
Файл: c: \ MyProject \ Program.cs, метод: Main, номер строки: 16 ->