yat/utility/Exception.cc

Code
Comments
Other
Rev Date Author Line
2209 05 Mar 10 peter 1 // $Id$
2209 05 Mar 10 peter 2
2209 05 Mar 10 peter 3 /*
4359 23 Aug 23 peter 4   Copyright (C) 2010, 2012, 2020 Peter Johansson
2209 05 Mar 10 peter 5
2209 05 Mar 10 peter 6   This file is part of the yat library, http://dev.thep.lu.se/yat
2209 05 Mar 10 peter 7
2209 05 Mar 10 peter 8   The yat library is free software; you can redistribute it and/or
2209 05 Mar 10 peter 9   modify it under the terms of the GNU General Public License as
2209 05 Mar 10 peter 10   published by the Free Software Foundation; either version 3 of the
2209 05 Mar 10 peter 11   License, or (at your option) any later version.
2209 05 Mar 10 peter 12
2209 05 Mar 10 peter 13   The yat library is distributed in the hope that it will be useful,
2209 05 Mar 10 peter 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
2209 05 Mar 10 peter 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2209 05 Mar 10 peter 16   General Public License for more details.
2209 05 Mar 10 peter 17
2209 05 Mar 10 peter 18   You should have received a copy of the GNU General Public License
2209 05 Mar 10 peter 19   along with yat. If not, see <http://www.gnu.org/licenses/>.
2209 05 Mar 10 peter 20 */
2209 05 Mar 10 peter 21
2881 18 Nov 12 peter 22 #include <config.h>
2881 18 Nov 12 peter 23
2209 05 Mar 10 peter 24 #include "Exception.h"
2209 05 Mar 10 peter 25
2209 05 Mar 10 peter 26 #include <gsl/gsl_errno.h>
2209 05 Mar 10 peter 27
2209 05 Mar 10 peter 28 #include <cerrno>
2303 28 Jul 10 peter 29 #include <cstring>
2209 05 Mar 10 peter 30 #include <stdexcept>
2209 05 Mar 10 peter 31 #include <string>
2209 05 Mar 10 peter 32
2209 05 Mar 10 peter 33 namespace theplu {
2209 05 Mar 10 peter 34 namespace yat {
2209 05 Mar 10 peter 35 namespace utility {
2209 05 Mar 10 peter 36
4003 15 Oct 20 peter 37   invalid_argument::invalid_argument(const std::string& message)
4003 15 Oct 20 peter 38     : std::invalid_argument(message)
4003 15 Oct 20 peter 39   {}
4003 15 Oct 20 peter 40
4003 15 Oct 20 peter 41
2210 05 Mar 10 peter 42   runtime_error::runtime_error(std::string message)
4200 19 Aug 22 peter 43     : std::runtime_error(message)
2210 05 Mar 10 peter 44   {}
2210 05 Mar 10 peter 45
2210 05 Mar 10 peter 46
2209 05 Mar 10 peter 47   cmd_error::cmd_error(std::string message)
4200 19 Aug 22 peter 48     : runtime_error(message)
2209 05 Mar 10 peter 49   {}
2209 05 Mar 10 peter 50
2209 05 Mar 10 peter 51
2209 05 Mar 10 peter 52   errno_error::errno_error(std::string message)
4200 19 Aug 22 peter 53     : runtime_error(message + strerror(errno))
2209 05 Mar 10 peter 54   {}
2209 05 Mar 10 peter 55
2209 05 Mar 10 peter 56
2210 05 Mar 10 peter 57   GSL_error::GSL_error(std::string message)
2459 03 Apr 11 peter 58     : runtime_error("GSL_error: " + message)
2209 05 Mar 10 peter 59   {}
2209 05 Mar 10 peter 60
2209 05 Mar 10 peter 61
2210 05 Mar 10 peter 62   GSL_error::GSL_error(std::string message, int gsl_status)
2459 03 Apr 11 peter 63     : runtime_error("GSL_error: " + message + " " +
4200 19 Aug 22 peter 64                          gsl_strerror(gsl_status))
2209 05 Mar 10 peter 65   {}
2209 05 Mar 10 peter 66
2209 05 Mar 10 peter 67
2210 05 Mar 10 peter 68   IO_error::IO_error(std::string message)
2459 03 Apr 11 peter 69     : runtime_error("IO_error: " + message)
2209 05 Mar 10 peter 70   {}
2209 05 Mar 10 peter 71
2209 05 Mar 10 peter 72 }}} // of namespace utility, yat, and theplu