好吧,我刚刚用log4cxx lib写了一个简单的logger程序,到目前为止工作正常,但后来我意识到异常处理并没有像我预期的那样工作:
#include <iostream>
#include <log4cxx/logger.h>
#include <log4cxx/xml/domconfigurator.h>
#include <log4cxx/helpers/exception.h>
using namespace std;
using namespace log4cxx;
using namespace log4cxx::xml;
using namespace log4cxx::helpers;
int main(int argc, char *argv[])
{
/* some code here ... */
try
{
DOMConfigurator::configure("/path/to/logcfg.xml");
}
catch (Exception&)
{
cout << "error: problem in reading log config file" << endl;
/* here I want to free up some objects! */
exit(EXIT_FAILURE);
}
}
所以,现在让我们说logcfg.xml不存在,程序会打印出这条消息并退出:
log4cxx: Could not open file [/wrong/path/to/logcfg.xml].
在我看来,它从未到达我的异常处理程序,而是在库本身中引发和处理。你能告诉我处理这种情况的正确方法吗?
由于