Pour voir l'stacktrace pour une exception donnée, utilisez e.StackTrace
Si vous avez besoin de plus amples informations, vous pouvez utiliser la classe System.Diagnostics.StackTrace (est un code ici pour vous d'essayer):
try
{
throw new Exception();
}
catch (Exception ex)
{
//Get a StackTrace object for the exception
StackTrace st = new StackTrace(ex, true);
//Get the first stack frame
StackFrame frame = st.GetFrame(0);
//Get the file name
string fileName = frame.GetFileName();
//Get the method name
string methodName = frame.GetMethod().Name;
//Get the line number from the stack frame
int line = frame.GetFileLineNumber();
//Get the column number
int col = frame.GetFileColumnNumber();
}
Cela ne fonctionnera que s'il existe un fichier pdb disponible pour l'assembly. Voir les propriétés du projet - onglet construire - Avancé - Sélection des informations de débogage pour s'assurer qu'il existe un fichier pdb.
Comment ce code peut-il même être compilé? –
il ne fait pas que je l'ai fait pour montrer comme exemple – Crash893
duplicata possible http://stackoverflow.com/questions/8338495/how-to-get-error-line-number-of-code-using-try-catch –