PHP 的異常處理之try和catch用法小結

php 也有本身的異常處理方法,雖然比不上Java的強大,可是簡單的仍是很容易處理的。
<?php

try{
$a = 2;

echo $a;
if($a > 200)
{
    throw new Exception ('更新管理平臺密碼失敗!');
}
echo 'ok';

}
catch(Exception $e)
{
  echo $e->getMessage();

}

在數據庫中使用事物時,用該方法很是方便:php

$state = 0;
  // 添加事物處理
try {
    // 開啓事物
    $GLOBALS['db']->beginTransaction();

    // 更新管理平臺密碼
    $state = $GLOBALS['db']->query("update admin_user set password='$password_confirm' where user_id=$user_id");
    if($state != true)
    {
        throw new Exception ('更新管理平臺密碼失敗!');
    }

    $ret = $this->modify_ldap_pwd($user_name, $user_password_old, $user_password_confirm);
    if(!$ret)
    {
        throw new Exception ('更新LDAP密碼失敗!');
    }

    // 提交事物
    $GLOBALS['db']->commit();
    $state = 1;
}
catch (Exception $e)
{
    // 回滾
    $GLOBALS['db']->rollBack();
}

函數封裝處理:數據庫

define('runcode', 1);

function testE($num){
if($num == 1){
   return 'hello';
}else{
    throw new Exception ( "error");
}
}


try{

  $ret = testE(1);
  dump($ret);
  dump(100);

} catch (Exception $e ){

echo $e->getMessage();
dump('拋出了異常');
}
相關文章
相關標籤/搜索