我做不到这样的事情?
try {
require_once( '/includes/functions.php' );
}
catch(Exception $e) {
echo "Message : " . $e->getMessage();
echo "Code : " . $e->getCode();
}
Run Code Online (Sandbox Code Playgroud)
没有错误被回应,服务器返回500.
我有一些看起来像这样的代码
# 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);
}
Run Code Online (Sandbox Code Playgroud)
DataManager::fileImport 字面上是一个单行函数,抛出一个正常的异常:
static function fileImport($filepath, $zones, $statuses)
{
throw new Exception('SOME EXCEPTION');
}
Run Code Online (Sandbox Code Playgroud)
然而我明白了
致命错误:未捕获异常'Exception',消息'SOME EXCEPTION'...
从try块.也是'赫普.' 永远不会打印.为什么Exception不会触发catch块?
编辑:我应该提到我正在使用Tonic和PHP 5.3.9
再次编辑:这是DataManager(名称替换为...匿名)http://pastebin.com/daHWBJDC