2 * Copyright (C) 2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License version 2.1 as published by the Free Software Foundation.
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 * @author Mateusz Malicki (m.malicki2@samsung.com)
21 * @brief lxcpp's exceptions definitions
24 #ifndef LXCPP_EXCEPTION_HPP
25 #define LXCPP_EXCEPTION_HPP
32 * Base class for exceptions in lxcpp
34 struct Exception: public std::runtime_error {
35 Exception(const std::string& message)
36 : std::runtime_error(message) {}
39 struct NotImplementedException: public Exception {
40 NotImplementedException(const std::string& message = "Functionality not yet implemented")
41 : Exception(message) {}
44 struct ProcessSetupException: public Exception {
45 ProcessSetupException(const std::string& message = "Error during setting up a process")
46 : Exception(message) {}
49 struct FileSystemSetupException: public Exception {
50 FileSystemSetupException(const std::string& message = "Error during a file system operation")
51 : Exception(message) {}
54 struct BadArgument: public Exception {
55 BadArgument(const std::string& message = "Bad argument passed")
56 : Exception(message) {}
61 #endif // LXCPP_EXCEPTION_HPP