我使用标准PHP
函数:
try
{
}
catch (Exception $exc)
{
echo $exc->getMessage();
}
...
throw new Exception('Error Message');
验证数据并将各种消息返回给用户。而且效果很好。但是使用这种方法,如果新的异常被抛出(这是正确的),一切都会停止。但我想使用软验证(当出现错误但用户可以向前处理时)。 PHP
有类似的东西吗?
答案 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;