1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
/*
* This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3
* http://www.gnu.org/licenses/lgpl-3.0.html
*
* $Revision: 8300 $
* $Id: cbexception.cpp 8300 2012-08-31 11:35:40Z jenslody $
* $HeadURL: http://svn.code.sf.net/p/codeblocks/code/branches/release-16.xx/src/sdk/cbexception.cpp $
*/
#include "sdk_precomp.h"
#ifndef CB_PRECOMP
#include "cbexception.h"
#include "globals.h"
#include "configmanager.h"
#include <wx/log.h> // for wxSafeShowMessage()
#endif
#include <wx/intl.h>
cbException::cbException(const wxString& msg, const wxString& file, int line)
: Message(msg),
File(file),
Line(line)
{}
cbException::~cbException()
{}
void cbException::ShowErrorMessage(bool safe)
{
wxString gccvers;
#ifdef __GNUC__
gccvers.Printf(_T("gcc %d.%d.%d"), __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__);
#endif
wxString title = _("Exception");
wxString err;
err.Printf(_("An exception has been raised!\n\n"
"The application encountered an error at %s, on line %d.\n"
"The error message is:\n\n%s\n\n"
"Code::Blocks Version revision %u (%s, "
"build: %s %s)"),
File.c_str(), Line, Message.c_str(),
ConfigManager::GetRevisionNumber(), gccvers.c_str(),
wxT(BUILD_DATE), wxT(BUILD_TIME));
if (safe)
wxSafeShowMessage(title, err);
else
cbMessageBox(err, title, wxICON_ERROR);
}
|