如何处理 Laravel 5 中的异常和错误消息?

2023-12-30

当我收到此错误时:

Connection.php 第 620 行中的 QueryException:SQLSTATE[23000]:完整性 违反约束:1062 重复条目

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

哎呀,看起来像出事了


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

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

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

App\Exceptions\Handler

In the 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块。例如在控制器的方法中:

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

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

另一方面,在case 2,您可以在中定义异常处理具体要点您的申请的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理 Laravel 5 中的异常和错误消息? 的相关文章

  • 在值中包含换行符

    我有一个 Word 模板 其中 php 代码中定义了值 在PHP代码中 document gt setValue Value1 value1 在word模板中 Value1 如何将包含两个值之间的断线的值包含在单词的值中 Replace n
  • 如何将 Laravel 5.4 与 Angular 4 集成

    我知道如何创造完整的拉拉维尔 5 4自己的项目 我也知道如何使用创建 SPA角4 Problem 我不知道如何将 Laravel 与 Angular 集成 另外 我想使用 Laravel 5 4 作为后端 使用 Angular 4 作为前端
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 如何在类似 MVC 的页面中加载基于漂亮 URL 的类?

    我想请教一些关于如何解决这个问题的提示 我正在尝试构建自己的 MVC 网站 我了解了 URL 的基础知识 http example com blog cosplay cosplayer expo today 博客 gt 控制器cosplay
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • 如何在 yii2 中使用两个不同的模型登录或切换身份类别?

    我想允许用户从两个不同的模型登录 配置文件 user gt identityClass gt app models User one more class here enableAutoLogin gt false authTimeout
  • postgreSql 中特定时间后表更新

    我已经在 postgres 中创建了表 现在我想在特定时间 例如 1 小时 后更新一行 我看到很多问题 例如 https dba stackexchange com questions 56424 column auto updated a
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • WordPress 插件中的类自动加载器

    我想编写一个类自动加载器以在 WordPress 插件中使用 该插件将安装在多个站点上 我想尽量减少与其他插件发生冲突的机会 自动加载器将是这样的 function autoload name some code here 我的主要问题是
  • 很好地处理数据库约束错误

    再一次 它应该很简单 我的任务是在我们的应用程序的域对象中放置一个具有唯一约束的特定字段 这本身并不是一个很大的挑战 我刚刚做了以下事情 public class Location more fields Column unique tru
  • 从支付网关重定向回时用户会话丢失

    我已将 Cyber source 配置为我的支付网关 我能够导航到 cybersource 并进行付款 并能够成功重定向回该网站 我也可以取消付款并重定向回我的网站 我收到来自支付网关的响应 但是 用户在从支付网关重定向回来时会被注销 我正
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http

随机推荐

  • 如何并排显示两个 Markdown 代码块

    我想并排显示源代码的两个块 重构之前和之后 是否可以并排创建两个代码块 如果不是那么替代解决方案是什么 无法使用纯 Markdown 语法在单个表格单元格中创建多行代码块 但您可以使用逐字 HTML 来完成此操作 下面是一个带有并排代码的两
  • Matplotlib 子图:imshow + 绘图

    我想创建一个如下图所示的图 图中有两个独特的情节 img1是使用生成的plt imshow while img2是使用生成的plt plot 下面提供了我用来生成每个图的代码 plt clf plt imshow my matrix plt
  • 带有输入组的引导面板

    我想做的是有一个引导面板 其左侧有一个按钮 右侧有一个按钮 有点像输入组 我希望这是有意义的 请原谅我的绘画技巧 但我想我应该附上一个例子来说明我的意思 面板可能不是最好的选择 所以如果有任何其他建议 请随时告诉我 Thanks 尝试这个c
  • MSBuild 和 TeamBuild - BuildInParallel 由于 MSB3021 文件权限冲突而失败

    我维护着一个相当大的软件的构建 其中包含大约 350 个 csharp 项目 我们的调试构建时间约为 17 分钟 我一直在寻找缩短构建时间的方法 BuildInParallel 属性确实看起来很有趣 特别是因为我们有一个四核服务器来进行构建
  • cordova - 多个 dex 文件定义 Lcom/google/android/gms/iid/zzc

    我正在尝试编译适用于 Android 的 cordova 应用程序 但收到此错误 有任何想法吗 这是我收到的错误 FAILURE Build failed with an exception What went wrong Executio
  • 如何对多态向量中包含的元素进行拆箱?

    看完之后这是 属于特征的对象的向量 的答案 https stackoverflow com a 25819164 129805 看起来 Rust 会自动拆箱 是这样吗 我的代码无法编译 我不明白该答案的代码如何编译 对包含装箱特征的多态向量
  • 如何查看Boto3 HTTPS请求字符串

    我已经能够查看 botocore 发送的PreparedRequest 的属性 但我想知道如何查看发送到AWS 的确切请求字符串 我需要确切的请求字符串才能将其与我正在测试 AWS 调用的另一个应用程序进行比较 您还可以在 boto3 中启
  • 如何组合和验证 swt 对话框的两个文本字段?

    我有另一个问题 我使用一个文本字段的修改侦听器来激活和停用 swt 对话框中的 确定 按钮 效果很好 现在我想为另一个文本字段添加修改侦听器 我希望仅当两个文本字段中都至少有一个字符时才激活 确定 按钮 这是两个字段的代码 descript
  • 如何验证 ADFS SAML 令牌

    我目前正在从 ADFS 生成 SAML 令牌 如下所示 WSTrustChannelFactory factory null try use a UserName Trust Binding for username authenticat
  • 如何在 Heroku 上使用 Datomic Pro?

    我想在 Heroku 上使用 Datomic Pro 目前为入门版 但我不想将我的下载密钥提交到 Git 中 相反 正确的做法似乎是将其存储在环境变量中 这意味着我的project clj现在包含 dependencies org cloj
  • 在 inversifyjs 中重置作用域容器

    我正在实现一个范围容器架构 这样一个新的container为每个 Express 请求 或 apollographql 请求 创建 我有一个生命周期方法 可以在发送完响应后调用 这有利于清理和释放内存 并且该方法可以引用我们已完成服务的请求
  • 我们可以在Java中调用带有空对象的静态方法吗?如果是这样,怎么办?

    既然静态方法可以直接从类中调用 即ClassName methodName 为什么需要用类的对象来调用静态方法呢 如果有人知道的话 请举例说明 public static void methodA 以下代码包含一个示例 其中通过null参考
  • 为什么我的通用 StatefulWidget 类在运行时会出现 TypeError?

    我有一个通用的StatefulWidget类有一个Function打回来 当我尝试调用该回调时 我得到一个运行时TypeError EXCEPTION CAUGHT BY WIDGETS LIBRARY The following Type
  • Tomcat 中的共享 JNI 库 (.so) - UnsatisfiedLinkError

    我有一个在 Tomcat7 中部署的两个 Web 应用程序之间共享的 JNI 库 so 我在正在部署的第一个 Web 应用程序中仅使用 System loadLibrary 加载一次库 然后在第二个应用程序中检查它是否已加载以不再加载 我尝
  • 活动与片段生命周期[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发我正在使用的新应用程序Activity and Fragment 他们之间有什么主要区别吗 Update 我在 Androi
  • 我可以使用 asyncio 读取和写入 multiprocessing.Pipe 吗?

    我需要在 Python 中的进程之间进行通信并且正在使用asyncio在每个进程中进行并发网络IO 目前我正在使用multiprocessing Pipe to send and recv进程之间存在大量数据 但是我在外部这样做asynci
  • CRC32 校验和是如何计算的?

    也许我只是没有看到它 但 CRC32 似乎要么不必要地复杂 要么在我可以在网络上找到的任何地方都没有得到充分的解释 我知道它是消息值的基于非进位的算术除法除以 生成器 多项式的余数 但它的实际实现让我无法理解 我读了CRC 错误检测算法的轻
  • 所有不同 Intl.NumberFormats 的完整列表

    我正在寻找所有不同 Intl NumberFormats 的完整列表 The 国际数字格式 https developer mozilla org en US docs Web JavaScript Reference Global Obj
  • 如何在静态方法中调用类的成员变量?

    我正在使用某种方法来自动加载带有函数的帮助程序文件 我现在遇到的唯一问题是如何调用该类中的变量 因为我没有将其实例化为对象 this行不通的 但会怎样呢 class some helperclass var some variable 00
  • 如何处理 Laravel 5 中的异常和错误消息?

    当我收到此错误时 Connection php 第 620 行中的 QueryException SQLSTATE 23000 完整性 违反约束 1062 重复条目 我可以用我自己的闪存错误消息来处理它 而不是 哎呀 看起来像出事了 您有两