2011-12-14 11 views
-1

場合、私は、このお持ちの場合:は、例外を検出 -

function valid($valor) { 
     foreach($valor as $valor){ 
      if (!empty($valor)) { 
       if (preg_match("/[^A-Za-z0-9-áàçéúâôóã ]|(\d+)/", $valor)) { 
        $error = "invalid"; 
        throw new Exception($error); 
       } 
      } 
     } 
    } 

if (isset($_POST['myform'])){ 
    if ($val_->valid($form1['new'])) { 
     echo "ok"; 
    } 
    else 
     echo "bad"; 
} 

をしかし、私が得た:

Fatal error: Uncaught exception 'Exception

は何私がしたいことは、基本的にはそのような何か(擬似コード)であります

if (exception true) { 
    echo "problem"; 
} 
else 
    echo "ok"; 

どうやってやるの ?

答えて

4

exceptionを処理する必要があります。

try { 
    ... 
    //statements 
} catch (Exception $e) { 
    echo 'Caught exception: ', $e->getMessage(), "\n"; 
} 

EDIT:

try{ 
    if ($val_->valid($form1['new'])) { 
    echo "ok"; 
    } 
    }catch(Exception $e){ 
    echo "bad"; 
    } 
+0

問題は、私はパーソナライズされたメッセージを必要とするということです。私は異なるコンテンツに対して同じ機能を使用しています。 – Daniel

+0

はい、これはあなたの疑似コードではありませんでした。 'try {valid($ foo);エコー "ok"; } catch(Exception $ e){エコー "問題"; } 'は直接書き直しになります。 – Amadan

関連する問題