为什么我的异常没有被捕获捕获?
我有一些代码看起来像这样
# Try to import file
try
{
DataManager::fileImport($_FILES['datafile']['tmp_name'],
$_POST['zones'], $_POST['statuses']);
}
catch(Exception $e)
{
print 'Herp.';
$response->body = Helpers::getVarDump($e);
}
DataManager::fileImport
实际上是一个抛出正常异常的单行函数:
static function fileImport($filepath, $zones, $statuses)
{
throw new Exception('SOME EXCEPTION');
}
然而,我得到
致命错误:未捕获的异常“异常”,并显示消息“某些异常”...
从尝试块。此外,“Herp.”从未印刷过。为什么异常不触发 catch 块?
编辑:我应该提到我正在使用Tonic和PHP 5.3.9
再次编辑:这是DataManager(名称替换为...匿名) http://pastebin.com/daHWBJDC