Php 在Laravel中使用try-and-catch处理错误

Php 在Laravel中使用try-and-catch处理错误,php,laravel,error-handling,try-catch,Php,Laravel,Error Handling,Try Catch,我想在我的应用程序中实现一个良好的错误处理,我已强制此文件以捕获错误 App\Services\PayUService try { $this->buildXMLHeader; // Should be $this->buildXMLHeader(); } catch (Exception $e) { return $e; } App\Controller\ProductController function secTransaction(){ if ($e

我想在我的应用程序中实现一个良好的错误处理,我已强制此文件以捕获错误

App\Services\PayUService

try {
  $this->buildXMLHeader; // Should be $this->buildXMLHeader();
} catch (Exception $e) {
        return $e;
}
App\Controller\ProductController

function secTransaction(){
  if ($e) {
    return view('products.error', compact('e'));
  }
}
这就是我得到的

我不知道拉威尔为什么不把我引向视图。
错误是否强制正确?

您位于
命名空间中,因此应使用
\Exception
指定全局命名空间:

try {

  $this->buildXMLHeader();

} catch (\Exception $e) {

    return $e->getMessage();
}
在您的代码中,您使用了
catch(Exception$e)
so
Exception
正在/as中搜索:

App\Services\PayUService\Exception

由于
App\Services\PayUService
中没有
异常
类,因此不会触发该异常。或者,您可以在类的顶部使用
use
语句,如
use Exception
然后您可以使用
catch(例外$e)

谢谢!我已经做过了。我在官方文档中将其视为一条评论。您能分享更多相关代码吗?同时请告诉我有关
secttransaction
,此方法涉及什么或如何涉及?Alpha,问题在于名称空间。谢谢担心。当您使用
\Exception
时,将在何处搜索该类?我的意思是全局类的路径是什么?在
global
名称空间中,从根开始。