Behandlung von Ausnahmen innerhalb der PipelinePhp

PHP-Programmierer chatten hier
Guest
 Behandlung von Ausnahmen innerhalb der Pipeline

Post by Guest »

Ich bin ein bisschen neu in Laravel und arbeite derzeit mit Pipelines. Wie ich weiß, wird die gesamte Pipeline bei diesem Schritt gestoppt, wenn ein Schritt innerhalb der Pipeline fehlschlägt. Das ist genau das, was ich will, also bin ich damit einverstanden.
Aber ich möchte die gegebene Ausnahme aus dem fehlgeschlagenen Schritt behandeln. Und jetzt ist die Frage, wie? Darüber kann ich nichts finden.
Mein Code für die Pipeline sieht also so aus (z. B.):

Code: Select all

final readonly class CreateInboundPlanPipeline
{
public function __invoke(DataContainer $container, Closure $next): DataContainer
{
//Init Normalizer
$normalizer = new FBAInboundNormalizer();

//Do something with $container
$items = json_decode($container->__get('initialrequest')->input('items'));
$response = $normalizer->createInboundPlan($items, $container->__get('initialrequest'));

if($response['success']){
$extendContainer = $container;
$extendContainer->inboundplanid = $response["inboundPlanId"];
$extendContainer->currentOperationId = $response["operationId"];
}else{
throw new \Exception($response["message"]);
}

return $next($extendContainer);
}
}

public function handle(): void
{
$filledContainer = app(Pipeline::class)
->send($this->container)
->through([
CreateInboundPlanPipeline::class,
])
->then(function(){
//Action after Pipeline
//e.g. fill a model or smth
});
}
Z.B. Wenn „CreateInboundPlanPipeline“ eine Ausnahme auslöst, wie kann ich diese abfangen und behandeln?
Ich habe die Funktion „handleException“ in der Pipeline gefunden, ist das der richtige Weg?
Würde so aussehen?

Code: Select all

$filledContainer = app(Pipeline::class)
->send($this->container)
->through([
CreateInboundPlanPipeline::class,
])
->then(function(){
//Action after Pipeline
//e.g. fill a model or smth
})
->handleException(function(){
//Handle Exception here
});

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post