我试图从我的Laravel应用程序打开Sandbox paypal页面并面临以下问题
当互联网连接不可用时出现此问题。就像我们面对404问题一样......因为我们在View文件夹中有404刀片。
有没有办法处理此异常,以便我们可以向用户显示用户友好页面,请检查您的互联网连接
当我写下以下代码时,它不起作用:
if ($e instanceof \PayPal\Exception\PayPalConnectionException) {
return response()->view('errors.InternetConnection');
}
但是当我写
时它会起作用if ($e instanceof \PayPal\Exception\PayPalConnectionException) {
\App::abort(404);
}
我在错误文件夹
中创建了一个名为InternetConnection的新刀片答案 0 :(得分:1)
您可以在 App \ Exceptions \ Handler @ render 中侦听此异常。只需添加:
if ($e instanceof PayPalConnectionException) {
return response()->view('errors.404', [], 404);
}
答案 1 :(得分:1)
是的,你可以! (https://laravel.com/docs/5.1/errors#the-exception-handler)
你的App \ Exceptions \ Handler中的:
...
public function render($request, Exception $e)
{
if ($e instanceof PayPalConnectionException) {
//my paypal exception
return response()->view('errors.payPalConnectionError', [], 404);
}
return parent::render($request, $e);
}
答案 2 :(得分:1)
这样可行: -
您需要创建名为错误的文件夹(如果视图中尚未存在),并在其中放置名为404.blade.php的刀片文件 。并在此刀片中放入404错误的错误模板。当发生404错误时,laravel将自动使用它。
答案 3 :(得分:1)
在你的app / Exceptions / Handler.php编辑渲染方法中:
public function render($request, Exception $e)
{
if($e instanceof ValidationException) return response()->view('errors.abc');
return parent::render($request, $e);
}
记住不要忘记在Handler.php中 USE 异常
就像我正在显示ValidationException
的abc视图所以我在Handler.php类中添加了这一行
use Illuminate\Validation\ValidationException;
否则这不起作用。