TaskGroup::getErrors
(PHP 8.6+, True Async 1.0)
php
public TaskGroup::getErrors(): arrayRestituisce un array di eccezioni (Throwable) dai task che sono falliti con un errore. Le chiavi dell'array corrispondono alle chiavi dei task assegnate tramite spawn() o spawnWithKey().
Il metodo non attende il completamento dei task --- restituisce solo gli errori disponibili al momento della chiamata.
Valore di ritorno
Un array<int|string, Throwable> dove la chiave è l'identificatore del task e il valore è l'eccezione.
Esempi
Esempio #1 Visualizzazione degli errori
php
<?php
use Async\TaskGroup;
spawn(function() {
$group = new TaskGroup();
$group->spawnWithKey('api', function() {
throw new \RuntimeException("Connection timeout");
});
$group->spawn(fn() => "ok");
$group->seal();
$group->all(ignoreErrors: true);
foreach ($group->getErrors() as $key => $error) {
echo "$key: {$error->getMessage()}\n";
}
// api: Connection timeout
$group->suppressErrors();
});Errori non gestiti
Se rimangono errori non gestiti quando un TaskGroup viene distrutto, il distruttore lo segnala. Gli errori sono considerati gestiti se:
all()viene chiamato conignoreErrors: false(predefinito) e lancia unCompositeException- Viene chiamato
suppressErrors() - Gli errori vengono gestiti attraverso l'iteratore (
foreach)
Vedi anche
- TaskGroup::getResults --- Ottiene un array di risultati
- TaskGroup::suppressErrors --- Contrassegna gli errori come gestiti
- TaskGroup::all --- Attende tutti i task