ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
Exception.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2020-2022 The ESPResSo project
3 *
4 * This file is part of ESPResSo.
5 *
6 * ESPResSo is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * ESPResSo is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19#ifndef ESPRESSO_EXCEPTIONS_HPP
20#define ESPRESSO_EXCEPTIONS_HPP
21
22#include <stdexcept>
23#include <string>
24#include <utility>
25
26namespace ScriptInterface {
27struct Exception : public std::exception {
28 explicit Exception(const char *msg) : message(msg) {}
29 explicit Exception(std::string msg) : message(std::move(msg)) {}
30
31 const char *what() const noexcept override { return message.c_str(); }
32
33private:
34 std::string message;
35};
36} // namespace ScriptInterface
37
38#endif // ESPRESSO_EXCEPTIONS_HPP
T get_value(Variant const &v)
Extract value of specific type T from a Variant.
Exception(const char *msg)
Definition Exception.hpp:28
const char * what() const noexcept override
Definition Exception.hpp:31
Exception(std::string msg)
Definition Exception.hpp:29