使用简单的例子,实现了一个简单的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()]);}
}