当前位置: 首页 > news >正文

thinkphp:try-catch捕获异常

 使用简单的例子,实现了一个简单的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.lryc.cn/news/505533.html

相关文章:

  • shardingsphere分库分表跨库访问 添加分片规则
  • c++:std::map下标运算符的不合理使用
  • KeyFormer:使用注意力分数压缩KV缓存
  • MetaGPT源码 (ContextMixin 类)
  • MATLAB生成.exe独立程序过程(常见问题解决方法)(2024.12.14)
  • PHP排序算法:数组内有A~E,A移到C或者C移到B后排序,还按原顺序排序,循环
  • ChatGPT搜索全新升级,向全体用户开放,近屿智能助力AI行业发展
  • win10配置免密ssh登录远程的ubuntu
  • skywalking 搭建 备忘录
  • linux日常常用命令(AI向)
  • 信奥赛CSP-J复赛集训(bfs专题)(5):洛谷P3395:路障
  • 《红队和蓝队在网络安全中的定义与分工》
  • 李宏毅深度强化学习入门笔记:PPO
  • vue2项目中如何把rem设置为固定的100px
  • C++多线程常用方法
  • ubuntu+ros新手笔记(三):21讲没讲到的MoveIt2
  • Android Studio创建新项目并引入第三方so外部aar库驱动NFC读写器读写IC卡
  • window QT/C++ 与 lua交互(mingw + lua + LuaBridge + luasocket)
  • 中阳科技:量化模型驱动的智能交易革命
  • 电子应用设计方案-56:智能书柜系统方案设计
  • 宠物兔需要洗澡吗?
  • ubuntu升级python版本
  • 《Time Ghost》的制作:使用 DOTS ECS 制作更为复杂的大型环境
  • 详细描述一下 Elasticsearch 更新和删除文档的过程。
  • OpenCV与Qt5开发卡尺找圆工具
  • 【网络安全】Web Timing 和竞争条件攻击:揭开隐藏的攻击面
  • 分立器件---运算放大器关键参数
  • Stable Diffusion Controlnet常用控制类型解析与实战课程 4
  • Linux 本地编译安装 gcc9
  • SpringBoot 自定义事件