try catch用来捕获异常错误,有利于开发者及时发现错误,报错则直接抛出异常,不会影响try catch 后面代码的执行
$Turbo = -1; try { if($Turbo < 0){ throw new Exception('$Turbo参数 不能小于 0'); // 自定义异常信息 } # 如果出现错误则不会执行 直接就会执行 catch 抛出异常 echo '条件满足正常执行'; } catch (Exception $e) { echo $e->getMessage(); // 返回自定义的异常信息 } # 这句会进行即使抛出异常也不会影响后面的流程try catch 使得异常变得可控 echo '<br>即使抛出异常也不会影响后面的流程';
这里补充一个记录异常的方法
/** * 记录错误信息 * author Turbo * @param [type] $e 错误信息 * @return void */ function save_err($e) { if (!empty($e)) { $error = array( 'code' => $e->getCode(), // 错误码 'msg' => $e->getMessage(), // 错误信息 'file' => $e->getFile(), // 错误文件及方法 'line' => $e->getLine(), // 错误行数 'create_time' => date('Y-m-d H:i:s') ); # 记录 $error 数组 Code... } } # 进行调用 try { throw new Exception('自定义错误信息'); } catch (Exception $e) { $this->save_err($e); // 进行错误信息记录 return $e->getMessage(); // 返回自定义的异常信息 }