ErrorReport

From GZProject Wiki

Jump to: navigation, search

Библиотека создания отчетов об ошибках, используеться с применением try catch конструкций для получения структурированного и наглядного стека о возникшей критической ситуации.

Проект информирования об ошибке, содержит универсальный способ передачи ошибки на верхний уровень для показа пользователю. Проект предназначен на использовании исключений, результирующая ошибка имеет иерархическую структуру, содержащую информацию по раскручивающемуся стеку. Информацию программа берет из оберток, обработчиков исключения Это позволяет наглядно проследить путь ошибки, поскольку каждое тело метода может добавить совой дополнительный комментарий на исключительную ситуацию. Требование на использование: тот кто добавляет информацию об ошибке должен создавать однострочные комментарии.

Пример использования:

void method1()
{
  try
  {
    throw exception(“some error”);
  }catch(exception &e)
  {
    throw exception(ErrorReport(“Error in method1()”)+e.what());
  }
}
void method2()
{
  try
  {
    method1();
  }catch(exception &e)
  {
    throw exception(ErrorReport(“Error in method2()”)+e.what());
  }
}