Warum macht Direct Throwing OperationCanceledException die Aufgabe [Duplikat]C#

Ein Treffpunkt für C#-Programmierer
Guest
 Warum macht Direct Throwing OperationCanceledException die Aufgabe [Duplikat]

Post by Guest »

Ich habe gelesen, dass die Dokumentation besagt, dass der Status auf storniert festgelegt wird: < /p>
  • Code: Select all

    OperationCanceledException
    (oder der abgeleitete Ausnahmebereich wie TaskCanceledException ) wird geworfen
  • Code: Select all

    token.IsCancellationRequested
    ist wahr
  • Code: Select all

    token
    In Delegat übergeben an OperationCanceledException ist identisch mit Token als Parameter für die Erstellung von Aufgaben
jedoch das folgende Beispiel Wirft direkt ohne Token, aber erfolgreich die Stornierung. Liegt es daran, dass das Token eine Struktur ist, so dass der Standardwert immer die letzten beiden Bedingungen erfüllt? Ich bin nicht zuversichtlich über diesen Gedanken, hoffentlich zu erklären, wenn ich mich geirrt habe.

Code: Select all

var task = Task.Run(() =>
{
throw new OperationCanceledException();
});

try
{
task.Wait();
}
catch (AggregateException)
{
Console.WriteLine(task.Status); // Cancelled
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post