smudger Novice
16. april 2018 - 18:53 Der er 1 løsning

c# await af async lambda

Jeg har foelgende kode:

try
{
    await Task.Factory.StartNew(async () =>
    {
        int i = MyClass.Calc(x, y); // tager lang tid
        int k = await ThirdPartyClass.Calc(i, w); // tager lang tid
        MyClass2.Show(k)
    });
}
catch(Exception ex)
{
      // Jeg kommer aldrig her ned hvis der bliver smidt en exception.
}

Problemet er at de exceptions der bliver smidt, ikke bliver fanget af catch blokken. Hvis jeg fjerner async, saa fanger jeg exceptions, men saa kan jeg ikke kalde ThirdPartyClass.Calc.

Hvordan kan dette skrives anderledes?
smudger Novice
16. april 2018 - 19:16 #1
Denne loesning virker:

try
{
    int I, k;

    await Task.Factory.StartNew(async () =>
    {
        i = MyClass.Calc(x, y); // tager lang tid
    });

    k = await ThirdPartyClass.Calc(i, w); // tager lang tid

    await Task.Factory.StartNew(async () =>
    {
        MyClass2.Show(k)
    });
}
catch(Exception ex)
{

}
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Dansk iværksætter står bag et af Europas hurtigst voksende it-selskaber: Her er hele historien om hans op- og nedture
Det danske it-selskab Anytech365 leverer så høje vækstrater, at det er kommet med på Financial Times liste over de hurtigst voksende virksomheder i Europa. Her er historien om den danske iværksætter Janus Rægaard Nielsen, der har to konkurser bag sig og leder virksomheden fra Marbella.
Computerworld
Overblik: Så meget betaler danske virksomheder i løn til it-medarbejderne - se listerne her
Overblik: Der er meget stor forskel på løn-niveauet for it-medarbejderne i de danske virksomheder. Få overblikket over, hvor lønnen er højest og lavest her.
CIO
SAP's nye nordiske direktør: "De seneste uger har jeg besøgt en del kunder her i Norden - og alle talte om at vende tilbage til en eller anden form for standard."
Det store ryk til cloud brød med mange års it-konsolidering og skabte komplicerede it-miljøer. Men nu peger kundernes kompas den anden vej, fortæller erfaren SAP-boss efter nordisk rundrejse.
White paper
Sådan gør du din forretning agil uden at komplicere netværkssikkerheden
Mange virksomheder er i gang med en form for digital transformation, i forhold til hvordan produkter og services bringes til markedet og i sidste ende levere værdi til kunderne. Men digital transformation bringer også kompleksitet med sig i forhold til dem der opererer netværket. I dette white paper kigger vi nærmere på, hvordan du laver en succesfuld transformation og gør dit netværk sikkert.