2012年10月15日 星期一

[php][exception例外]擲出錯誤訊息 throw new exception

當用於表單驗證可以用最簡單的 if else方法

然而當想要一有錯誤就直接跳開產生錯誤訊息可以使用try catch,並且預先設定好 throw new exception(要擲出的錯誤訊息)

首先定義兩個驗證function,一個是檢查帳號,別一個是檢查密碼是否空白的簡單驗證:
function uid($uid){
 if($uid==''){
  throw new exception('帳號空白');
 }
}
function pwd($pwd){
 if($pwd==''){
  throw new exception('密碼空白');
 }
}

接著當表單送出後執行以下的程式:
try{
 $check_OK=true;   //驗證是否通過,先給TRUE
 uid($_POST['uid']);  //驗證帳號
 pwd($_POST['pwd']);  //驗證密碼
}catch(Exception $e){
 echo $e->getMessage();  //顯示錯誤訊息
 $check_OK=false;  //驗證不通過
}
if($check_OK){  //如果驗證通過
 echo $_POST['uid'];
 echo $_POST['pwd'];
 unset($_POST['uid']);
 unset($_POST['pwd']);
}

當帳號空白,就會將錯誤訊息擲出來,如果帳號密碼皆空白,則只會擲出帳號的錯誤訊息




沒有留言:

張貼留言