Ciao Ho questo progetto che presenta alcuni problemi con quelli che dovrebbero essere i miei codici per il gestore "problema".Gestire le eccezioni globali in VB
Public Event UnhandledException As UnhandledExceptionEventHandler
Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
AddHandler currentDomain.UnhandledException, AddressOf MyHandler
End Sub
Sub MyHandler(ByVal sender As Object, ByVal args As UnhandledExceptionEventArgs)
Dim e As Exception = DirectCast(args.ExceptionObject, Exception)
Using sw As New StreamWriter(File.Open(myFilePath, FileMode.Append))
sw.WriteLine(Date.now & e.toString)
End Using
MessageBox.Show("An unexcpected error occured. Application will be terminated.")
Application.Exit()
End Sub
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
Throw New Exception("Dummy Error")
End Sub
Sto cercando di globalmente cattura tutte le eccezioni e creare file di log durante il runtime, che funziona bene nel debugger (gestione delle eccezioni e la scrittura file di testo), ma non riesco a intercettare eventuali eccezioni non gestite dopo ho costruire nel progetto di installazione e Installato in una macchina. Cosa mi manca? Devo includere componenti aggiuntivi nel mio progetto di installazione? L'aiuto sarebbe molto apprezzato
Il gestore funziona affatto, ad es. se si sposta il 'MessageBox' per essere la prima riga del gestore lo vedi? Potrebbe essere che stai ricevendo un errore nel gestore (ad esempio intorno al logging?) – theduck
Ho provato a spostare MessageBox sulla prima riga del gestore e sì si presenta. Ho provato a posizionare il punto di interruzione all'inizio del gestore e l'ingresso e il flusso attraverso il gestore – Adrian
Le autorizzazioni sul file di registro sono valide per l'utente che esegue l'applicazione? – theduck