OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
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 
28 public:
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 
43 private:
44 
45  std::string descr_;
46  std::string meth_;
47 
48 };
49 
50 #endif
virtual const char * what() const
virtual const char * where() const
OptPilotException(const std::string &meth, const std::string &descr)