所以基本上今天我决定在一个简单的登录方法中使用一些异常进行测试,因为我已经在很多网站上阅读了一段时间,但是当我开始将它们添加到我的代码中时,它们最终会让我感到困惑,所以今天希望是有一天我会发现我做错了什么。
这是登录方法(只是验证输入部分,没有数据库内容或有意义的消息):
public function login($username, $password) {
try {
$this->security->validateInput($username, 'String', array(20, 6), 'username');
}
catch(InvalidArgumentException $e) {
echo $e->getMessage();
}
catch(LengthException $e) {
echo $e->getMessage();
}
catch(InvalidFormatException $e) {
echo $e->getMessage();
}
}
您可以从 catch 块中看到 validateInput() 方法抛出了哪些异常。
我没有得到的是我也有 $password 变量要验证,但是将它放在 $username 的验证下对我来说没有意义,例如:
try {
$this->security->validateInput($username, 'String', array(20, 6), 'username');
$this->security->validateInput($password, 'String', array(16, 8), 'password');
}
我是否以完全错误的方式使用异常,也许它们不应该在登录脚本和其他类似脚本中使用?
任何帮助都会非常感谢。