如何捕获PHP错误作为软验证

时间:2017-10-16 14:59:02

标签: php error-handling try-catch

我使用标准PHP函数:

try 
{ 

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

...

 throw new Exception('Error Message');

验证数据并将各种消息返回给用户。而且效果很好。但是使用这种方法,如果新的异常被抛出(这是正确的),一切都会停止。但我想使用软验证(当出现错误但用户可以向前处理时)。 PHP有类似的东西吗?

2 个答案:

答案 0 :(得分:2)

我认为这有助于您了解try...catch的工作原理以及如何获取异常消息。在http://php.net/manual/en/language.exceptions.php

了解有关例外的更多信息

演示代码:

$exception = [];
try {
   function1();
   function2();
}
catch(Exception $e){
   $exception['msg'] = $e->getMessage();
   $exception['code'] = $e->getCode();
}

function3();
print '<pre>';
print_r($exception);
print '</pre>';

此处,function3()将始终执行。但是如果function1()抛出异常,function2()将不会再执行。但是如果发生异常,您可以收到$exception数据。

答案 1 :(得分:1)

尝试将错误消息收集到数组中,然后返回。

if(strlen($username) < 3) $errors[] = "Username is too short";
if(strlen($password) < 3) $errors[] = "Password is too short";

return $errors;