Afficher le numéro de ligne dans la gestion des exceptions
Comment afficher ce numéro de la ligne qui a provoqué l'erreur et est-ce même possible avec la manière .NET compile ses .exe?
Si non est-il un moyen automatisé d'Exception.Message pour afficher les sous qui a chié sur?
try
{
int x = textbox1.Text;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
- Comment est-ce que le code même de la compilation?
- elle ne marche pas, j'ai juste fait ça pour montrer un exemple
- possible en double stackoverflow.com/questions/8338495/...
Vous devez vous connecter pour publier un commentaire.
Utilisation
ex.ToString()
pour avoir la trace de la pile.Vous devez compiler avec les symboles de débogage (.fichiers pdb), même en mode release, pour obtenir les numéros de ligne (c'est une option dans le projet de construction de propriétés).
Pour voir la stacktrace pour une Exception, l'utilisation e.StackTrace
Si vous avez besoin de plus amples informations, vous pouvez utiliser le Système.Diagnostics.StackTrace classe (voici un code pour vous d'essayer):
Cela ne fonctionne que si il y a un fichier pdb disponibles pour l'assemblée. Voir les propriétés du projet - construire - onglet Avancé - les informations de Débogage de sélection pour s'assurer qu'un fichier pdb.
Si vous utilisez 'StackTrace' et comprennent les .pdb fichiers dans le répertoire de travail, la trace de la pile doit contenir les numéros de ligne.