Utilizzare await nei blocchi catch e finally con C# 6

di Stefano Mostarda, in .NET Framework, C#6,

Nelle precedenti versioni di C# è possibile utilizzare l'istruzione await nel blocco try, ma non è possibile utilizzare la stessa istruzione nei blocchi catch e finally. Questa limitazione è stata volutamente inserita perchè il compilatore non riesce a emettere il codice IL necessario. Questa limitazione è stata rimossa in C# 6, quindi diventa possibile scrivere il seguente codice:

public async Task MetodoAsync(){
  try
  {
    await EseguiMetodoAsync();
  }
  catch
  {
     await LogAsync();
  }
  finally
  {
     await AltroMetodoAsync();
  }
}

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi