by Guest » 14 Feb 2025, 05:27
Ich habe gelesen, dass die Dokumentation besagt, dass der Status auf storniert festgelegt wird: < /p>
- (oder der abgeleitete Ausnahmebereich wie TaskCanceledException ) wird geworfen
- ist wahr
- 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
}
Ich habe gelesen, dass die Dokumentation besagt, dass der Status auf storniert festgelegt wird: < /p>
[list]
[*][code]OperationCanceledException[/code] (oder der abgeleitete Ausnahmebereich wie TaskCanceledException ) wird geworfen
[*][code]token.IsCancellationRequested[/code] ist wahr
[*][code]token[/code] In Delegat übergeben an OperationCanceledException ist identisch mit Token als Parameter für die Erstellung von Aufgaben
[/list]
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]var task = Task.Run(() =>
{
throw new OperationCanceledException();
});
try
{
task.Wait();
}
catch (AggregateException)
{
Console.WriteLine(task.Status); // Cancelled
}
[/code]