spl_autoload_register与throw new Exception相冲突

我自己搭建了一个自动引入文件的架构

spl_autoload_register自动载入文件
但是我在控制器中使用throw new Exception的时候报了错误

**Warning: require(/www/wwwroot/www.entercode.cn/api/Rest/Exception.php): failed to open stream: No such file or directory in /www/wwwroot/www.entercode.cn/api/Rest/Loader.php on line 5
Fatal error: require(): Failed opening required '/www/wwwroot/www.entercode.cn/api/Rest/Exception.php' (include_path='.:/www/server/php/70/lib/php') in /www/wwwroot/www.entercode.cn/api/Rest/Loader.php on line 5**

也就是说spl_autoload_register把exception也一起给自动载入了
有什么办法可以解决这个吗?


后面我在autoload做了一个判断是否存,改成了

public static function autoload($class){
    $file=BASEDIR.'/'.str_replace('\\', '/', $class).'.php';
    if(file_exists($file)){
        require $file;
    }
} 

但是还是报
Uncaught Error: Class 'RestException' not found 这个错误

慕桂英546537
浏览 392回答 3
3回答

12345678_0001

throw new \Exception("error"); 尝试一下

慕虎7371278

当你使用spl_autoload_register函数注册自动载入后还需要使用spl_autoload_call 或者spl_autoload来调用你需要的类。
打开App,查看更多内容
随时随地看视频慕课网APP