log4cxx:try / catch不能在DOMConfigurator :: configure

时间:2015-12-18 13:26:39

标签: c++ try-catch log4cxx

好吧,我刚刚用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].

在我看来,它从未到达我的异常处理程序,而是在库本身中引发和处理。你能告诉我处理这种情况的正确方法吗?

由于

0 个答案:

没有答案