命名空间为的未捕获异常


Uncaught exception with namespace

我正在读一本关于php的书,我发现这个脚本不起作用:

namespace woo'controller {
    // woo'controller'ApplicationHelper;
    class ApplicationHelper {
        function getOptions() {
            if (!file_exists("data/woo_options_not_there.xml")) {
                $r = new 'woo'base'AppException("Non riesco ad aprire il file<br>");
                throw new $r;
            }
            $options = simplexml_load_file("data/woo_options.xml");
            $dsn = (string) $options->dsn;
            print $dsn;
        }
    }
    $d = (new ApplicationHelper())->getOptions();
}
namespace woo'base {
    class AppException extends 'Exception {
    }
}

你能帮我吗?

这就是错误:

致命错误:C:''xamplep''htdocs''9781430260318_Chapter_12_Code''listing12.00.php:11堆栈跟踪:#0 C:''xamplep ''htdocs''9781430260328_Chapter _12_Code''listing12.00.php(20):woo''controller''ApplicationHelper->getOptions()#1{main}在第11行的C:''xampleP''htdocs ''9781430220318_CChapter_12_Code''listing11.00.php中抛出

所以让我们跟随这里的逻辑列车

我们创建类ApplicationHelper,然后实例化它。然后,我们调用getOptions(),它会查找XML文件,如果找不到,就会抛出异常。

您的代码运行良好,只是忘记了catch异常(这会产生致命的PHP错误)

try {
    $d = (new ApplicationHelper())->getOptions();
} catch('woo'base'AppException $err) {
    echo 'Error: ' . $err->getMessage();
}