lyx_mirror/src/boost.cpp
Abdelrazak Younes e7bb71ff4e header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22178 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 22:09:28 +00:00

51 lines
1.1 KiB
C++

/**
* \file boost.cpp
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "LyX.h"
#include "support/debug.h"
#include <boost/assert.hpp>
#include <exception>
#include <iomanip>
using namespace std;
using lyx::lyxerr;
using lyx::LyX;
namespace boost {
#ifndef BOOST_NO_EXCEPTIONS
void throw_exception(exception const & e)
{
lyxerr << "Exception caught:\n" << e.what() << endl;
BOOST_ASSERT(false);
}
#endif
void assertion_failed(char const * expr, char const * function,
char const * file, long line)
{
lyxerr << "Assertion triggered in " << function
<< " by failing check \"" << expr << "\""
<< " in file " << file << ":" << line << endl;
// FIXME: by default we exit here but we could also inform the user
// about the assertion and do the emergency cleanup without exiting.
// FIXME: do we have a list of exit codes defined somewhere?
LyX::cref().exit(1);
}
} // namespace boost