<?php

declare(strict_types=1);

namespace Fennec\Autoload;

use Fennec\Exception\FennecException;

/**
 * Levée quand un nom de classe correspond à un préfixe de namespace enregistré
 * mais que le fichier attendu est introuvable sur le disque.
 */
final class ClassNotFoundException extends FennecException
{
    /**
     * @param string $className Nom de classe complet (avec namespace) qui n'a pas pu être chargé.
     * @param string $expectedPath Chemin de fichier attendu, absent sur le disque.
     */
    public function __construct(string $className, string $expectedPath)
    {
        parent::__construct(sprintf(
            'Class "%s" could not be loaded: file not found at "%s".',
            $className,
            $expectedPath,
        ));
    }
}
