UniSet  2.6.0
UExceptions.h
1 /*
2  * Copyright (c) 2015 Pavel Vainerman.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as
6  * published by the Free Software Foundation, version 2.1.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  * Lesser General Lesser Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 // -------------------------------------------------------------------------
17 #ifndef UExceptions_H_
18 #define UExceptions_H_
19 // --------------------------------------------------------------------------
20 struct UException
21 {
22  UException(): err("UException") {}
23  explicit UException( const std::string& e ): err(e) {}
24  explicit UException( const char* e ): err( std::string(e)) {}
25  ~UException() {}
26 
27  const std::string getError()
28  {
29  return err;
30  }
31 
32  std::string err;
33 };
34 //---------------------------------------------------------------------------
35 struct UTimeOut:
36  public UException
37 {
38  UTimeOut(): UException("UTimeOut") {}
39  explicit UTimeOut( const std::string& e ): UException(e) {}
40  ~UTimeOut() {}
41 };
42 //---------------------------------------------------------------------------
43 struct USysError:
44  public UException
45 {
46  USysError(): UException("USysError") {}
47  explicit USysError( const std::string& e ): UException(e) {}
48  ~USysError() {}
49 };
50 //---------------------------------------------------------------------------
52  public UException
53 {
54  UValidateError(): UException("UValidateError") {}
55  explicit UValidateError( const std::string& e ): UException(e) {}
56  ~UValidateError() {}
57 };
58 //---------------------------------------------------------------------------
59 #endif
60 //---------------------------------------------------------------------------