FastAdmin php代码 try catch 一直走error 区间

Php   2025-12-03 10:32   50   0  

问题分析

1. 这个问题可能是因为 save () 方法的返回值判断问题。在 ThinkPHP 中,save () 方法即使更新成功,返回值也可能是 0(当数据没有实际变化时)

2. ThinkPHP 的一个特性,success () 方法会抛出一个异常来实现跳转。


问题解决

try{
  ....
} catch (\think\exception\HttpResponseException  $e) {
 // 这是 success 或 error 抛出的异常,直接抛出
 throw $e;
} catch (\Exception  $e) {
 // 其他异常,返回错误信息
 $this->error('系统错误:'.$e->getMessage());

}