【发布时间】:2019-02-25 01:55:08
【问题描述】:
在发布这个问题之前,我已经在互联网上搜索了合适的答案,但没有得到任何答案。这些是我的以下问题:
1) 如何在 laravel 控制器中不通过 try catch 就抛出异常,并在被调用控制器的视图中获取异常。 示例:TestController.php
function index(){
throw new CustomException('Data not found');
return view('dashboard');
}
如何在仪表板视图中获取异常消息
2) 如何设置异常信息的格式,假设我想返回格式为
$response['code'] = 0;
$response['status'] = 'error';
$response['message'] = 'message';
$response['data'] = '';
我创建了一个自定义异常,但不知道如何充分利用它
<?php
namespace App\Exceptions;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Mockery\Exception;
class CustomException extends Exception{
public $response;
/**
* Report the exception.
*
* @return void
*/
public function report()
{
}
/**
* Render the exception into an HTTP response.
*
* @param \Illuminate\Http\Request
* @return \Illuminate\Http\Response
*/
public function render($request,$exception){
ob_clean();
$response['code'] = 0;
$response['status'] = 'error';
$response['message'] = 'Message';
$response['data'] = '';
if(!$request->ajax()){
// non ajax response
}else{
return response()->json($response);
}
}
}
【问题讨论】:
标签: php laravel exception laravel-5 laravel-exceptions