Php 我突然犯了一个致命的错误。我不知道';我不明白

Php 我突然犯了一个致命的错误。我不知道';我不明白,php,Php,我一直在一个曾经有效的代码中工作。然而,突然,这条信息出现了 致命错误:未捕获异常“exception”,消息为“电子邮件不正确!”在C:\xampp\htdocs\Prototype\classes\User.php:23中 堆栈跟踪:#0 C:\xampp\htdocs\Prototype\index.php(14):User->setEmail(true)#1{main}在第23行的C:\xampp\htdocs\Prototype\classes\User.php中抛出 但我不明白这意味

我一直在一个曾经有效的代码中工作。然而,突然,这条信息出现了

致命错误:未捕获异常“exception”,消息为“电子邮件不正确!”在C:\xampp\htdocs\Prototype\classes\User.php:23中

堆栈跟踪:#0 C:\xampp\htdocs\Prototype\index.php(14):User->setEmail(true)#1{main}在第23行的C:\xampp\htdocs\Prototype\classes\User.php中抛出

但我不明白这意味着什么。我试着用try-and-catch,但它一直出现

这是发生错误的代码

public function setEmail($p_email)
{
    if (empty($p_email)) {
        throw new Exception('Email kan niet leeg zijn!');
    }
    $this->email = $p_email;
    if (!filter_var($p_email, FILTER_VALIDATE_EMAIL)) {
        throw new Exception('Email is incorrect!'); //here is the error (line 23)
    }
}
这是召唤它的密码

$user = new User();
$user->setEmail($_SESSION['login']); //line 14
$currentUser = $user->getProfile();
$userEmail = $user->getEmail();
$userName = $user->getUserName();
$userID = $currentUser['userID'];

您的错误是传递的是
布尔值
,而不是有效的
字符串
电子邮件

堆栈跟踪:#0 C:\xampp\htdocs\Prototype\index.php(14):User->setEmail(true)#1{main}在第23行的C:\xampp\htdocs\Prototype\classes\User.php中抛出

因此,这一行是不正确的:

$user->setEmail($_SESSION['login']); //line 14

什么是echo$_会话['login']打印?您正在尝试将电子邮件设置为true(
User->setEmail(true)
),这不是电子邮件地址。您确定要传入会话登录值吗?为什么要将“登录状态”作为电子邮件传递?它可能类似于
$\u会话['email']
我尝试将“登录”更改为“用户”。但是我不能再登录了。