在下面的代码中,字符串“hi”永远不会输出。
MainDispatcher
类只是一个庞大框架的推进器,下面有一个大型应用程序,“直到前一天工作正常”(我试过git-bisect
但是这是一个故事另一篇文章)。
如何找出代码静默终止执行的位置?
require_once "autoload/classes.php";
try {
$main = new MainDispatcher(root());
if ($main->httpHeaders()) {
$main->handleRequest();
}
echo 'hi';
}
catch(Exception $e) {
echo 'hi';
Log::error($e, $main->config->traceLog);
}
答案 0 :(得分:0)
将你的require_once
调用移到TRY块中,因为如果失败,它就不会被捕获。
此外,如果您不确定如何访问日志并且只是调试,请打印异常而不是记录它们。因此,在CATCH块中,添加echo $e->getMessage();
。
我认为您应该开始了解问题的原因。