Source
* @li ostream::operator<< operator: http://www.cplusplus.com/reference/iostream/ostream/operator%3C%3C.html
/****************************************************************************
* ALMA - Atacama Large Millimiter Array
* (c) Instituto de Estructura de la Materia, 2009
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* "@(#) $Id: ATMException.h Exp $"
*
* who when what
* -------- -------- ----------------------------------------------
* jroche 09/09/09 created
*/
using std::string;
ATM_NAMESPACE_BEGIN
/**
* @class AtmException
* @brief Manage exceptions that raises in ATM.
*
* @remarks Don't use a STL container (particularly a std::string) in a catch
* block of a TelCal exception class because the container may dynamically
* allocate the memory and so raise a std::exception if the case of
* std::bad_alloc exception.
*
* To create a AtmException follow the example. The #ATM_EXCEPTION_ARGS macro
* must be used to define the position (file, method and line) where the
* exception is raised.
* First include the header file for exceptions.
*
* @code
* #include "ATMException.h"
* @endcode
*
* Then create an exception object in a try block. Possibly insert here a log
* message.
*
* @code
* try