mirror of
http://172.16.200.102/MOISE/Timed-Altarica-To-Fiacre-Translator.git
synced 2025-12-03 10:07:58 +01:00
255 lines
6.0 KiB
C++
255 lines
6.0 KiB
C++
|
|
/*******************************************************************************
|
|||
|
|
* Copyright (c) 2015-2016 ONERA.
|
|||
|
|
* Ce logiciel est la propriété de l’ONERA (the French Aerospace Lab).
|
|||
|
|
* Tous droits réservés.
|
|||
|
|
*
|
|||
|
|
* Ce programme et les éléments qui l'accompagnent sont mis à disposition
|
|||
|
|
* aux conditions définies par le contrat de licence logiciel CeCILL-C soumise
|
|||
|
|
* au droit français et respectant les principes de diffusion des logiciels libres.
|
|||
|
|
* Vous pouvez utiliser, modifier et/ou redistribuer ce programme
|
|||
|
|
* sous les conditions de la licence CeCILL-C (http://www.cecill.info).
|
|||
|
|
|
|||
|
|
* This software is property of ONERA (the French Aerospace Lab).
|
|||
|
|
* All rights reserved.
|
|||
|
|
*
|
|||
|
|
* This program and the accompanying materials are made available under
|
|||
|
|
* the terms of the CeCILL-C license under French law and
|
|||
|
|
* abiding by the rules of distribution of free software.
|
|||
|
|
* You can use, modify and/ or redistribute the software under the terms of
|
|||
|
|
* the CeCILL-C license (http://www.cecill.info).
|
|||
|
|
*
|
|||
|
|
* Contributeurs/contributors:
|
|||
|
|
* Guillaume Infantes (ONERA - Centre de Toulouse) - initial API and implementation
|
|||
|
|
*
|
|||
|
|
*******************************************************************************/
|
|||
|
|
|
|||
|
|
// This program is free software; you can redistribute it and/or modify
|
|||
|
|
// it under the terms of the GNU General Public License as published by
|
|||
|
|
// the Free Software Foundation; either version 2 of the License, or
|
|||
|
|
// (at your option) any later version.
|
|||
|
|
//
|
|||
|
|
// This program 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 Library General Public License for more details.
|
|||
|
|
//
|
|||
|
|
// You should have received a copy of the GNU General Public License
|
|||
|
|
// along with this program; if not, write to the Free Software
|
|||
|
|
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
|
//
|
|||
|
|
// Copyright Florent Teichteil-Koenigsbuch (2008)
|
|||
|
|
|
|||
|
|
#include "Exception.hh"
|
|||
|
|
|
|||
|
|
using namespace epoch;
|
|||
|
|
|
|||
|
|
// Class Exception
|
|||
|
|
|
|||
|
|
Exception::Exception(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: error_message_(error_message)
|
|||
|
|
{
|
|||
|
|
if (!throwing_function.empty())
|
|||
|
|
function_backtrace_ = std::string(" from '") + throwing_function + "':\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
Exception::~Exception() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
const char * Exception::what() const throw()
|
|||
|
|
{
|
|||
|
|
what_message_ = std::string("HMDP exception:\n") + function_backtrace_ + " " + error_message_;
|
|||
|
|
return what_message_.c_str();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void Exception::push_function_backtrace(std::string const & throwing_function)
|
|||
|
|
{
|
|||
|
|
function_backtrace_.insert(0, std::string(" from '") + throwing_function + "':\n");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void Exception::clear_function_backtrace()
|
|||
|
|
{
|
|||
|
|
function_backtrace_.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class ParserException
|
|||
|
|
|
|||
|
|
ParserException::ParserException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: Exception("HMDP parser exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
ParserException::~ParserException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class RequirementException
|
|||
|
|
|
|||
|
|
RequirementException::RequirementException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: ParserException("HMDP requirement exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
RequirementException::~RequirementException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class OverflowException
|
|||
|
|
|
|||
|
|
OverflowException::OverflowException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: Exception("HMDP overflow exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
OverflowException::~OverflowException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class NumericException
|
|||
|
|
|
|||
|
|
NumericException::NumericException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: Exception("HMDP numeric exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
NumericException::~NumericException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class RedundancyException
|
|||
|
|
|
|||
|
|
RedundancyException::RedundancyException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: Exception("HMDP redundancy exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
RedundancyException::~RedundancyException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class CloneException
|
|||
|
|
|
|||
|
|
CloneException::CloneException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: Exception("HMDP clone exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
CloneException::~CloneException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class LearnerException
|
|||
|
|
|
|||
|
|
LearnerException::LearnerException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: Exception("HMDP learner exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
LearnerException::~LearnerException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class UndecidableException
|
|||
|
|
|
|||
|
|
UndecidableException::UndecidableException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: LearnerException("HMDP learner exception (undecidable inference): ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
UndecidableException::~UndecidableException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class PlannerException
|
|||
|
|
|
|||
|
|
PlannerException::PlannerException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: Exception("HMDP planner exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
PlannerException::~PlannerException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class TimeOutException
|
|||
|
|
|
|||
|
|
TimeOutException::TimeOutException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: PlannerException("HMDP timeout exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
TimeOutException::~TimeOutException() throw()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Class IncompatibilityException
|
|||
|
|
|
|||
|
|
IncompatibilityException::IncompatibilityException(std::string const & error_message, std::string const & throwing_function)
|
|||
|
|
: Exception("HMDP incompatibility exception: ", throwing_function)
|
|||
|
|
{
|
|||
|
|
error_message_ += error_message;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
IncompatibilityException::~IncompatibilityException() throw()
|
|||
|
|
{
|
|||
|
|
}
|