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
Opsang til kommunerne: “I bruger uforholdsmæssigt meget tid på udbuddet og alt for lidt på kontrakten”
Kommunerne har for meget fokus på at undgå at få noget lovmæssigt i klemme og for lidt på at få brugbare kontrakter, når de laver it-udbud, lyder kritikken fra erfaren udbudsrådgiver.
Computerworld
Her er Danmarks fem bedste CIO'er lige nu: Disse fem it-chefer er nomineret til titlen som Årets CIO 2018
Årets CIO 2018: Den eftertragtede titel som Årets CIO i Danmark skal snart uddeles for 13. gang af Computerworld, IDC og Dansk IT. Her er de fem nominerede til Årets CIO 2018.
CIO
Allersidste opdatering på vej: Om en uge er det slut med stor-version af Windows 10 - skynd dig at opdatere
Om en uge er det slut for altid med den første store udgave af Windows 10, som Microsoft efter 29 måneder ikke længere vil supportere.
Job & Karriere
Klassiske brokere af it-konsulenter står over for kæmpe udfordring - forretningsmodellen er under pres
Klumme: Eksterne konsulenter er populære og en god løsning i en branche i vækst. Men selve forretningsmodellen bag it-konsulenterne er under alvorligt pres.
White paper
Digitalisering i verdensklasse: Lær af finanssektorens erfaringer og nye syn på infrastruktur
Digitaliseringen buldrer afsted i erhvervslivet, men få brancher er så langt fremme som finanssektoren i bestræbelserne på digital transformation. Det har resulteret i en masse erfaringer om blandt andet hybrid infrastruktur, som andre kan drage nytte af. Læs i dette whitepaper udarbejdet af IDC for Interxion om udviklingen, den nye tankegang og de umiddelbare fordele. 12 sider på engelsk.