Une exception est un type de message envoyé pour informer que quelque chose de mauvais a hap planté. Il a généralement des informations supplémentaires sur la mauvaise situation.
C'est comme une bulle venant de l'eau pour faire surface. Si personne ne le catch
, alors il vous est montré (ici le nom est unhandled exception
).
Vous devriez éviter unhandled exception
s dans votre code et penser à toutes les situations difficiles et faire quelque chose pour eux. Par exemple, si votre programme doit écrire quelque chose sur un CD et qu'il n'y a pas de CD dans le CD-ROM, vous devriez montrer un message à l'utilisateur et lui dire de mettre un CD dans le CD-ROM. Ce serait quelque chose comme ceci dans votre code:
try
{
// Copy file to CD
// Show message: File Copied successfully
}
catch (Exception ex)
{
// Something wrong happened: there's no CD in CD-ROM, CD has not enough space...
// Show message: Cannot copy file!
}
Dans l'exemple ci-dessus ex
est de type de Exception
et a quelques détails au sujet de la mauvaise situation. Comme vous le voyez Après la ligne // Copy file to CD
j'essaye de montrer un message de succès à l'utilisateur. C'est parce que dès que nous échouons à la ligne // Copy file to CD
programme va reprendre de catch
partie, parce que nous avons la mauvaise situation et avons des informations à ce sujet. Si vous n'utilisez pas try/catch
dans l'exemple ci-dessus et que vous l'utilisez dans un autre code, vous avez la chance d'obtenir le exception
avant qu'il ne devienne un unhandled exception
.
Il serait vraiment utile si vous expliquiez d'où provenait l'exception ... quelles technologies vous utilisez, à quoi ressemble le code, à quoi ressemble la trace de la pile, etc. –
Si vous passez 5 heures à essayer de trouver une solution, vous devriez passer plus de 1 minute à formuler votre question. Personne ne peut vous aider avec ce que vous avez écrit. Donnez des exemples de code et dites-nous ce que vous faites! – Christian
J'utilise .net 4.0 framewwork Je ne peux pas trouver où l'exception exacte se pose parce que je attrape seulement l'exception comme 'non manipulé' sans aucune information de ligne de code ou e.t.c – void