thinkphp:try-catch捕获异常

ops/2024/12/21 2:24:31/

 使用简单的例子,实现了一个简单的try-catch捕获异常的实例

//开始事务
Db::startTrans();

try{

        //有异常抛出异常

        if(存在错误){

                throw new \Exception("异常信息");

        }

        // 提交事务
        Db::commit();
        // 返回成功信息
        ...

}

catch (\Exception $e) {//捕获到错误
        // 回滚事务
        Db::rollback();
        // 返回错误信息
        ...
 }

public function test(){//开始事务Db::startTrans();try{// 执行正常的操作,例如插入数据到数据库    $data = ['item1' => 'str1','item2' => 'str2',];  $insert = db::table('tablename')->insert($data);//判断数据是否插入成功,如果失败抛出异常if (!$insert) {throw new \Exception("插入 tablename 表失败");}            // 提交事务Db::commit();// 返回成功信息return json(['check' => 1,'msg'   => '数据插入成功',]);}catch (\Exception $e) {//捕获到错误// 回滚事务Db::rollback();// 返回错误信息return json(['check' => 0,'msg'   => '数据插入失败: ' . $e->getMessage()]);}
}


http://www.ppmy.cn/ops/143638.html

相关文章

[SAP ABAP] 将内表数据转换为HTML格式

从sflight数据库表中检索航班信息,并将这些信息转换成HTML格式,然后下载或显示在前端 开发步骤 ① 自定义一个数据类型 ty_sflight 来存储航班信息 ② 声明内表和工作区变量,用于存储表头、字段、HTML内容和航班详细信息以及创建字段目录lt…

中阳科技的量化交易模型:从理论到实践的全面探索

在当今金融市场中,量化交易已经成为不可忽视的投资方式。中阳科技凭借先进的算法模型和技术能力,率先在这一领域取得突破,为投资者提供更高效、更智能的交易解决方案。本文将从量化交易模型的核心特点、技术支持和市场应用等方面,…

Docker 容器中启用 SSH 服务

在 Docker 容器中运行 SSH 服务需要一些调整,因为 Docker 容器通常使用 init 系统而不是完整的 systemd。以下是配置 SSH 服务在 Docker Ubuntu 容器中运行的步骤: 1. 安装 SSH 服务 如果还未安装 OpenSSH,请先安装: apt update…

微软 Phi-4:小型模型的推理能力大突破

在人工智能领域,语言模型的发展日新月异。微软作为行业的重要参与者,一直致力于推动语言模型技术的进步。近日,微软推出了最新的小型语言模型 Phi-4,这款模型以其卓越的复杂推理能力和在数学领域的出色表现,引起了广泛…

IEC 101/104 中为什么我们需要单点和双点信号

REDISANT 提供互联网与物联网开发测试套件 # 互联网与中间件: Redis AssistantZooKeeper AssistantKafka AssistantRocketMQ AssistantRabbitMQ AssistantPulsar AssistantHBase AssistantNoSql AssistantEtcd AssistantGarnet Assistant 工业与物联网&#xff1…

CTF知识集-SQL注入

开头可能会用到的提醒 如果空格被过滤,/**/ %0b(tab) %09(tab) %0d(回车) %0a(换行) %0c(换页) 语句中 or 和 || 为同种意思 测试有几位可以用order by [几位] 来测试,如果没报错说明位数包含,如果报错说明位数不包含 union select被过滤…

C++熟悉篇——类和对象1

类和对象1 一、成员函数二、对象复制三、私有成员 一、成员函数 工程化编写 我们需要遵从常规的书写规范,把类定义和类实现分别写在头文件和原文件中。 在 Time.h 文件中,内容如下: #ifndef __MYTIME__ #define __MYTIME__class Time{ pu…

记一MySQL连接速度慢的问题

某一个程序启动速度超级慢,查看日志得知是是在Init DruidDataSource ~ {dataSource-1} inited 这一段耗时最长,这一段是Druid 数据源初始化,进行连接的创建等,使用mysql命令行连接发现连接超级慢,可见是在创建连接的时…