BackgroundWorker ei kaappaa poikkeuksia DoWork-metodin sisällä jos ohjelmaa ajetaan debug-moodissa VS:llä

BackgroundWorker ei kaappaa poikkeuksia DoWork-metodin sisällä jos ohjelmaa ajetaan debug-moodissa VS:llä. Poikkeuksethan pitäisi pystyä käsittelemään RunWorkerCompleted-eventhandlerin avulla (e.Error)

Syynä on se, että VS on kovin innokas varastamaaan lentävän poikkeuksen.

Korjaus:Jotta ohjelma käyttäytyisi debug-moodissa kuten release-moodissa pitää DoWork-metodi koristella [System.Diagnostics.DebuggerNonUserCodeAttribute()] attribuutilla. esim

[System.Diagnostics.DebuggerNonUserCodeAttribute()]
void worker_DoWork(object sender, DoWorkEventArgs e)
{

}

lähde:

BackgroundWorker unhandled error – MSDN Forums

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s