学无先后,达者为师

网站首页 编程语言 正文

laravel try异常abort只报出最外层

作者:渡目成书 更新时间: 2022-01-28 编程语言
  • 在项目中发现在存在嵌套额度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():"错误二"));
  • 先检测有没有错误信息,没有错误信息在显示外层信息

原文链接:https://blog.csdn.net/weixin_43674113/article/details/109530087

栏目分类
最近更新