Ich bin etwas verwirrt, wie man mit einer Ausnahme umgehen kann.Hintergrund-Ausnahmebehandlung
Ich habe einen Hintergrund-Worker-Thread, der einige lange laufende Prozess läuft. Mein Verständnis ist, wenn eine Ausnahme im Hintergrund Worker-Thread auftritt der Code wird immer noch bei der RunWorkerCompleted-Methode.
void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Error != null)
throw e.Error;
Wenn dies der Fall ist, da jeder Punkt einen Versuch catch-Block um die bgWorker.RunWorkerAsync in Putten(); Ruf an, nehme ich nicht an?
Ich möchte die Ausnahme, die in der RunWorkerCompleted-Methode gefangen ist, erneut auslösen, wie kann ich dies tun, ohne den Stack-Trace zu verlieren - ist das, was ich oben richtig habe? Ich habe gelesen, dass Sie beim Auslösen einer Ausnahme einfach "werfen" verwenden sollten.
so in diesem Fall würde ich nicht müssen Sie eine Fehlerbehandlung in meiner RunWorkerCompleted-Methode durchführen? Oder ist es besser, mit Fehlern in der RunWorkerCompleted-Methode umzugehen? – mHelpMe
Wenn Sie die Ausnahme in Ihrem Worker-Thread behandeln, können Sie sie nicht in RunWorkerCompleted abrufen. Wenn Sie in DoWork nicht damit umgehen, stürzt Ihre Anwendung möglicherweise ab, wenn Sie etwas falsch machen –