在发布这个问题之前,我已经在互联网上搜索了适当的答案,但没有得到任何答案。这些是我的以下问题:
1)如何在 laravel 控制器中不尝试 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);
}
}
}