TaskGroup::suppressErrors

(PHP 8.6+, True Async 1.0)

public TaskGroup::suppressErrors(): void

Contrassegna tutti gli errori correnti nel gruppo come gestiti.

Quando un TaskGroup viene distrutto, verifica la presenza di errori non gestiti. Se gli errori non sono stati gestiti (tramite all(), foreach o suppressErrors()), il distruttore segnala la perdita di errori. Chiamare suppressErrors() è una conferma esplicita che gli errori sono stati gestiti.

Esempi

Esempio #1 Soppressione degli errori dopo gestione selettiva

<?php

use Async\TaskGroup;

spawn(function() {
    $group = new TaskGroup();

    $group->spawn(fn() => "ok");
    $group->spawn(function() { throw new \RuntimeException("fail 1"); });
    $group->spawn(function() { throw new \LogicException("fail 2"); });

    $group->seal();
    $group->all(ignoreErrors: true);

    // Gestisci gli errori manualmente
    foreach ($group->getErrors() as $key => $error) {
        log_error("Task $key: {$error->getMessage()}");
    }

    // Contrassegna gli errori come gestiti
    $group->suppressErrors();
});

Vedi anche