NCBI C++ ToolKit
html_exception.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: html_exception.cpp 33815 2007-05-04 17:18:18Z kazimird $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Andrei Gourianov, Vladimir Ivanov
27  *
28  */
29 
30 
31 #include <ncbi_pch.hpp>
32 #include <html/html_exception.hpp>
33 #include <html/node.hpp>
34 
35 
37 
38 
39 void CHTMLException::AddTraceInfo(const string& node_name)
40 {
41  string name = node_name.empty() ? "?" : node_name;
42  m_Trace.push_front(name);
43 }
44 
45 
46 void CHTMLException::ReportExtra(ostream& out) const
47 {
49  if ( (flags & CNCBINode::fAddTrace) != 0 ) {
50  string trace;
51  ITERATE(list<string>, it, m_Trace) {
52  if ( !trace.empty() ) {
53  trace += ":";
54  }
55  trace += *it;
56  }
57  out << trace;
58  }
59 }
60 
61 
63 {
65  m_Trace = dynamic_cast<const CHTMLException&>(src).m_Trace;
66 }
67 
68 
CHTMLException –.
static uch flags
std::ofstream out("events_result.xml")
main entry point for tests
static bool trace
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
Definition: ncbimisc.hpp:815
virtual void x_Assign(const CException &src)
Helper method for copying exception data.
Definition: ncbiexpt.cpp:536
int TExceptionFlags
Binary OR of "EExceptionFlags".
Definition: node.hpp:252
static TExceptionFlags GetExceptionFlags(void)
Definition: node.cpp:402
@ fAddTrace
Enable tag trace.
Definition: node.hpp:246
virtual void ReportExtra(ostream &out) const override
Report node trace into the "out" stream.
list< string > m_Trace
Node trace list.
virtual void x_Assign(const CException &src) override
Helper method for copying exception data.
virtual void AddTraceInfo(const string &node_name)
Constructor.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
The standard node class.
HTML library exceptions.
Modified on Sat Dec 09 04:49:32 2023 by modify_doxy.py rev. 669887