Lorsque vous travaillez avec Task
En C# 5.0 et versions ultérieures, les mots clés async et wait simplifient programmation basée sur les tâches de manière significative. Au lieu de s'appuyer sur ContinueWith, les méthodes asynchrones vous permettent d'utiliser des blocs try/catch directement pour gérer les exceptions :
try { // Start the task. var task = Task.Factory.StartNew<StateObject>(() => { /* action */ }); // Await the task. await task; } catch (Exception e) { // Perform cleanup here. }
Pour les anciennes versions de C#, la surcharge ContinueWith avec l’énumération TaskContinuationOptions peut être used:
// Get the task. var task = Task.Factory.StartNew<StateObject>(() => { /* action */ }); // For error handling. task.ContinueWith(t => { /* error handling */ }, context, TaskContinuationOptions.OnlyOnFaulted);
OnlyOnFaulted garantit que la suite est exécutée uniquement lorsque la tâche antécédente lève une exception. Plusieurs continuations peuvent être chaînées pour gérer différents cas :
// For error handling. task.ContinueWith(t => { /* error handling */ }, context, TaskContinuationOptions.OnlyOnFaulted); // If it succeeded. task.ContinueWith(t => { /* on success */ }, context, TaskContinuationOptions.OnlyOnRanToCompletion);
Que vous choisissiez l'approche async/await ou la technique ContinueWith avec TaskContinuationOptions, ces méthodes vous permettent d'intercepter efficacement les exceptions dans les tâches C#, garantissant ainsi que vos applications gèrent erreurs inattendues avec grâce.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!