- 在项目中发现在存在嵌套额度try并abort的提示情况下优先是提出最外层,不能够精准的提示信息
class Test
{
public function aa()
{
try {
throw new Exception();
} catch (Exception $exception) {
abort('404',"错误一");
}
}
public function bb(){
try{
$this->aa();
}catch (Exception $exception){
abort('404',"错误二");
}
}
}
- 如在aa()中已经报出异常,但是显示会显示错误二,这个不是我们想要的提示,我们希望能有最小粒度的提示,在aa()中不抛出异常的情况下在抛出bb()中的异常。
- 尝试进行判断换一种写法
在外层
abort(404, $exception->getMessage()?$exception->getMessage():"错误二"));
- 先检测有没有错误信息,没有错误信息在显示外层信息