OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
OptPilotException.h
Go to the documentation of this file.
1//
2// Class OptPilotException
3//
4// Copyright (c) 2010 - 2013, Yves Ineichen, ETH Zürich
5// All rights reserved
6//
7// Implemented as part of the PhD thesis
8// "Toward massively parallel multi-objective optimization with application to
9// particle accelerators" (https://doi.org/10.3929/ethz-a-009792359)
10//
11// This file is part of OPAL.
12//
13// OPAL is free software: you can redistribute it and/or modify
14// it under the terms of the GNU General Public License as published by
15// the Free Software Foundation, either version 3 of the License, or
16// (at your option) any later version.
17//
18// You should have received a copy of the GNU General Public License
19// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
20//
21#ifndef __OPTPILOTEXCEPTION_H__
22#define __OPTPILOTEXCEPTION_H__
23
24#include <string>
25
27
28public:
29
30 OptPilotException(const std::string &meth, const std::string &descr) {
31 descr_ = descr;
32 meth_ = meth;
33 }
34
35 virtual const char* what() const throw() {
36 return descr_.c_str();
37 }
38
39 virtual const char* where() const throw() {
40 return meth_.c_str();
41 }
42
43private:
44
45 std::string descr_;
46 std::string meth_;
47
48};
49
50#endif
virtual const char * where() const
virtual const char * what() const
OptPilotException(const std::string &meth, const std::string &descr)