0
respostas

[Dúvida] Dúvida sobre erro de classe não encontrada

Estou fazendo o curso PHP Strings: Operações e expressões regulares PHP Strings: Operações e expressões regulares, antes dele, fiz o curso de exceptions.

No início do curso é feito uma classe Usuário e ela faz uma verificação se o nome dado de entrada está correto. Eu tentei criar uma classe exception para isso, porém ao executar é retornado: Fatal error: Uncaught Error: Class "Alura\Exceptions\ErroEntradaNomeException" not found in D:\Programs and Apps\Xampp\htdocs\vscodephp\StringManipulation\Usuario.php

A classe tem que testar se foram informados Nome e sobrenome, caso um deles não tenha sido informado, joga a exception, porém fica dando fatal error, dizendo que a classe não foi encontrada.

Não consiga encontrar qual está sendo o problema aqui.

Este é o código da classe usuário

<?php

namespace Alura;

use Alura\Exceptions\ErroEntradaNomeException;
use Exception;

class Usuario
{   
    private $nome;
    private $sobrenome;
    public function __construct(string $nome)
    {   

        $nomeSobrenome = explode(" ", $nome, 2);

        if($nomeSobrenome[0] === "" || $nomeSobrenome[1] === null){
            throw new ErroEntradaNomeException(); 
        }else{
            $this->nome = $nomeSobrenome[0];
            $this->sobrenome = $nomeSobrenome[1];
        }

    }

    public function getNome(): string
    {
        return $this->nome;
    }

    public function getSobrenome(): string
    {
        return $this->sobrenome;
    }
}
?>

Esta é a classe da exception

<?php

namespace Alura\Exceptions;
use Throwable;
class ErroEntradaNomeException extends \DomainException
{
    public function __construct()
    {
        $mensagem = "Nome ou sobranome inválido. Você deve digitar um Nome e um Sobrenome";
        parent::__construct($mensagem);
    }
}

?>

há ainda o arquivo do formulário e do cadastro, porém estourava o limite de caracteres.

Os arquivos estão organizados nas pastas: https://prnt.sc/0GzwtekUvLTQ