【问题标题】:detect exception - if检测异常 - 如果
【发布时间】:2011-12-14 03:47:33
【问题描述】:

如果我有这个:

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";

我该怎么做?

【问题讨论】:

    标签: php exception


    【解决方案1】:

    你必须处理exception

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

    编辑:

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

    【讨论】:

    • 问题是我需要个性化的消息。我对不同的内容使用相同的功能。
    • 是的,这不是你的伪代码。 try { valid($foo); echo "ok"; } catch (Exception $e) { echo "problem"; } 将是直接重写。
    猜你喜欢
    • 1970-01-01
    • 2014-05-06
    • 2020-08-27
    • 2019-07-24
    • 2017-12-26
    • 2020-06-01
    • 1970-01-01
    • 2020-05-20
    • 2013-12-20
    相关资源
    最近更新 更多