Warum macht Direct Throwing OperationCanceledException die Aufgabe [Duplikat]

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Warum macht Direct Throwing OperationCanceledException die Aufgabe [Duplikat]

by Guest » 14 Feb 2025, 05:27

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
}

Top