我想在我的应用程序中实现良好的错误处理,我强制使用此文件来捕获错误。
应用\服务\PayUService
try {
$this->buildXMLHeader; // Should be $this->buildXMLHeader();
} catch (Exception $e) {
return $e;
}
应用\控制器\产品控制器
function secTransaction(){
if ($e) {
return view('products.error', compact('e'));
}
}
这就是我得到的。
我不知道为什么 Laravel 没有将我重定向到视图。 这个错误是被迫的吗?
您位于
namespace
内,因此您应该使用 \Exception
来指定全局命名空间:
try {
$this->buildXMLHeader();
} catch (\Exception $e) {
return $e->getMessage();
}
在您的代码中,您使用了
catch (Exception $e)
,因此 Exception
正在被搜索/作为:
App\Services\PayUService\Exception
由于
Exception
内部没有 App\Services\PayUService
类,因此它不会被触发。或者,您可以在课程顶部使用 use
语句,例如 use Exception;
,然后您可以使用 catch (Exception $e)
。
try {
$this->buildXMLHeader();
} catch (\Exception $e) {
return $e->getMessage();
}