joomla异常处理与DB错误


joomla exception handling with DB error

尝试进行异常处理和日志记录。所以如果我有这样的东西:

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
$query->from('#__users');
try
{
    $db->setQuery($query);
    $result = $db->loadResult();
}
catch (RuntimeException $e)
{
    $e->getMessage();
    JLog::add('This query failed: '.$query);
}

我的问题是如何最好地测试我的异常代码?取下DB只会让Joomla输出这个错误,我从来没有进入我的异常代码:

Database connection error (2): Could not connect to MySQL.

我希望能够验证异常和日志打印

我是这样做的。首先在入口点文件中初始化记录器:

JLog::addLogger(
    array('text_file' => 'com_mycom.php'),
    JLog::ALL ^ JLog::ERROR,
    'com_mycom'
);
JLog::addLogger(
    array('text_file' => 'com_mycom.errors.php'),
    JLog::ERROR,
    'com_mycom'
);

然后在模型中使用:

try
{
    $rows = $this->_db->loadObjectList();
}
catch (Exception $e)
{
    JLog::add($e->getMessage(), JLog::ERROR, 'com_mycom');
    return false;
}

尝试在Try/catch部分的Try部分添加throw语句。