gpt4 book ai didi

php - 如何在 Laravel 5 中处理异常和错误信息?

转载 作者:可可西里 更新时间:2023-11-01 12:47:31 24 4
gpt4 key购买 nike

当我得到这个错误时:

QueryException in Connection.php line 620: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

我可以用我自己的 flash 错误消息来处理它而不是:

Whoops, looks like something went wrong

最佳答案

您有两种方法来处理异常并显示自定义响应:

1) 让框架为您处理它们:

如果你不自己处理异常,Laravel 会在类中处理:

App\Exceptions\Handler

render 方法中,您可以拦截框架出现的所有异常的渲染。所以,如果你想在特定异常出现时做一些特别的事情,你可以这样修改那个方法:

public function render($request, Exception $e)
{
//check the type of the exception you are interested at
if ($e instanceof QueryException) {

//do wathever you want, for example returining a specific view
return response()->view('my.error.view', [], 500);
}

return parent::render($request, $e);
}

2) 自己处理异常:

您可以自己处理异常,使用 try-catch block 。例如在 Controller 的方法中:

try
{
//code that will raise exceptions
}
//catch specific exception....
catch(QueryException $e)
{
//...and do whatever you want
return response()->view('my.error.view', [], 500);
}

这两种情况的主要区别在于,在情况 1 中,您要定义一种通用的、应用范围的方法来处理特定异常。

另一方面,在情况 2 中,您可以在应用程序的特定点中定义异常处理

关于php - 如何在 Laravel 5 中处理异常和错误信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34250180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com