我正在读一本关于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:\ xampp \ htdocs \ 9781430260318_Chapter_12_Code \ listing12.00.php中未捕获的异常'woo \ base \ AppException':11堆栈跟踪:#0 C:\ xampp \ htdocs \ 9781430260318_Chapter_12_Code \ listing12.00。 php(20):woo \ controller \ ApplicationHelper-&gt; getOptions()#1 {main}在第11行的C:\ xampp \ htdocs \ 9781430260318_Chapter_12_Code \ listing12.00.php中抛出
答案 0 :(得分:0)
所以让我们按照这里的逻辑顺序
我们正在创建类ApplicationHelper
,然后实例化它。然后,我们调用getOptions()
查找XML文件,如果找不到,则抛出异常。
你的代码工作正常,你只是忘了catch
异常(这会产生致命的PHP错误)
try {
$d = (new ApplicationHelper())->getOptions();
} catch(\woo\base\AppException $err) {
echo 'Error: ' . $err->getMessage();
}