PHP rename()不会在出错时抛出异常

Che*_*uis 5 php exception-handling

我正在使用php应用程序,并且有一行移动文件.我将该方法包含在try ... catch块中,因此,如果抛出错误,则可以管理回滚系统.但是异常永远不会被捕获,因此,重命名会抛出任何异常?我需要尝试其他方法吗?

谢谢

上面的代码:

try{
   if(rename($archivo_salida, $ruta_archivos)){
    //anything;
   }

}catch (Exception $e)
  //do something
}
Run Code Online (Sandbox Code Playgroud)

pow*_*tac 7

"普通"PHP函数不会抛出异常.

更改代码以模拟异常:

try{
   if(rename($archivo_salida, $ruta_archivos)){
      //anything;
   } else {
      throw new Exception('Can not rename file'.$archivo_salida);
   }
}catch (Exception $e)
   //do something
}
Run Code Online (Sandbox Code Playgroud)