OpenWalnut
1.5.0dev
src
core
common
WAssert.cpp
1
//---------------------------------------------------------------------------
2
//
3
// Project: OpenWalnut ( http://www.openwalnut.org )
4
//
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
7
//
8
// This file is part of OpenWalnut.
9
//
10
// OpenWalnut is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// OpenWalnut is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public License
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22
//
23
//---------------------------------------------------------------------------
24
25
#include <string>
26
27
#include "WStringUtils.h"
28
29
#include "WAssert.h"
30
31
void
wAssertFailed( std::string
const
& expression, std::string
const
& file, std::size_t line, std::string
const
& msg )
32
{
33
#ifdef WASSERT_AS_CASSERT
34
std::cerr <<
"Assertion failed: "
<< expression <<
" (in file "
<< file <<
" at line "
<< line <<
")"
;
35
if
( !msg.empty() )
36
{
37
std::cerr <<
", Message: "
<< msg;
38
}
39
std::cerr << std::endl;
40
abort();
41
#else
42
std::string s =
"Assertion failed: "
+ expression +
" (in file "
+ file +
" at line "
+
string_utils::toString
( line ) +
")"
;
43
if
( !msg.empty() )
44
{
45
s +=
", Message: "
+ msg;
46
}
47
throw
WException
( s );
48
#endif
49
}
WException
Basic exception handler.
Definition:
WException.h:39
string_utils::toString
std::string toString(const T &value)
Convert a given value to a string.
Definition:
WStringUtils.h:120
Generated by
1.9.1