Habituellement, le gestionnaire d'événements UnhandledException est situé dans la classe qui contient votre code de démarrage. Il n'y a donc rien pour vous empêcher de définir une variable publique partagée dans cette classe qui contient le nom de votre fichier journal. Vous pouvez initialiser sa valeur au démarrage en lisant à partir d'un fichier de configuration. Ensuite, à l'intérieur de l'événement est possible d'utiliser cette variable pour ouvrir votre fichier journal et écrire vos informations
EDIT: dans votre scénario, vous pouvez essayer cette pseudocode
Partial Friend Class MyApplication
' the name for the log file
Public logName As String
Private Sub MyApplication_UnhandledException(sender As Object, e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
Dim ex As Exception = e.Exception
If Not ex Is Nothing Then
MessageBox.Show(ex.Message)
Using sw = new StreamWriter(My.MyApplication.logName)
.....
End Using
End If
End Sub
End Class
et dans votre formulaire intial ajouter cet appel à définir le nom_journal
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
My.Application.logName = "C:\temp\text.txt"
' as test
Throw New Exception("This is an unhandled exception")
End Sub
End Sub
visual studio 08 veut que vous arrêtiez ici Namespace Mon classe partielle ami MyApplication Sous MyApplication_UnhandledException privé (expéditeur de ByVal comme objet, _ ByVal e comme Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) _ Poignées Me.UnhandledException End Sub End Class End Namespace – Theo