Supposons que vous avez le code suivant:Gestion des exceptions: est finalement exécuté après le lancement?
Au lieu de faire:
Try
'
' Initialize some objects
'
'
' do something that fails
'
'
' Clean up-code that gets not reached because exception
'
Catch e As Exception
'
'Clean up initialized objects
'
Throw e
End Try
Je voudrais faire:
Try
'
' Initialize some objects
'
'
' do something that fails
'
Catch e As Exception
Throw e
Finally
'
'Clean up initialized objects
'
End Try
Ma question est simple: Dans le cas d'une exception est la enfin bloc atteint même s'il y a un lancer quelques lignes avant?
[EDIT] Merci pour vos réponses rapides.
Dans la première ligne il y aura NullReference-, COM- et FileNotFound-Exceptions je pense.
Ok, je vais aller pour ce code:
Try
'
' Initialize some objects
'
'
' do something that fails
'
Catch e As Exception ' or just "Catch"??
Throw
Finally
'
'Clean up initialized objects
'
End Try
Bonne chance!
Inno
Vous ne devriez pas écrire 'Throw e' mais simplement' Throw'. Sinon, vous réinitialisez la trace de pile d'exception, de sorte que vous perdez les informations sur l'endroit où l'exception a été soulevée initialement –