我有一个工作,用一个方法调用一个类,这个方法可以做一些事情。
我已经用try-catch包装了这个方法调用,它将正确地捕获无效的类名,但不会捕获断开的关系。
在我的工作中:
try {
$this->LeadHandler->deliver();
$this->lead->setStatus('delivered');
} catch(\Exception $e){
return $this->lead->setStatus('delivery failure');
}
public function deliver()
{
Mail::to(['email@email.com'])->send(new SendLead($this->lead));
$this->lead->clients()->attach(1);
}
上面的代码正常工作,但是如果attach方法中有错误,它不会抛出错误,作业将显示为已处理。
如果我故意将邮件facade输入到Ail中,它就会抛出错误,作业就会失败。
但是,如果我通过调用client()而不是clients()来破坏连接关系,则不会使作业失败。
我尝试用一种方法将多个事物分组并尝试catch的方式是否不正确?