Ho avuto problemi con la gestione degli eventi nei thread di backgroundworker.Gestione degli eventi di background worker
Tutta la documentazione che ho incontrato mi fanno credere che quando un gestore di eventi DoWork genera un'eccezione tale eccezione deve essere affrontato nel gestore RunWorkerCompleted e tale eccezione sarà disponibile nella proprietà errore dei RunWorkerCompletedEventArgs.
Questo va bene, ma durante il tempo di debug vedo sempre un'eccezione non gestita dal messaggio di codice utente. Questo mi fa credere che ci sia un problema con il mio approccio.
Quali operazioni devo intraprendere per risolvere questo problema?
saluti, Jonathan
Perché è necessario farlo? Perché è come funziona BackgroundWorker. Molto più facile da gestire l'errore nel thread chiamante rispetto al thread di lavoro. Ma quando si esegue il debug, l'altro modo è vero poiché si ottiene l'accesso a tutte le variabili locali. – Samuel
Non penso che "sia così che funziona BackgroundWorker" è una risposta soddisfacente. Sembra che tu veda tutte le eccezioni come indicative di errori di codifica - questo è vero solo a volte. Se volessi che il debugger si interrompesse su un'eccezione gestita, accendere le eccezioni di prima scelta o impostare un punto di interruzione. –