Line data Source code
1 : /* libcmis
2 : * Version: MPL 1.1 / GPLv2+ / LGPLv2+
3 : *
4 : * The contents of this file are subject to the Mozilla Public License Version
5 : * 1.1 (the "License"); you may not use this file except in compliance with
6 : * the License or as specified alternatively below. You may obtain a copy of
7 : * the License at http://www.mozilla.org/MPL/
8 : *
9 : * Software distributed under the License is distributed on an "AS IS" basis,
10 : * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 : * for the specific language governing rights and limitations under the
12 : * License.
13 : *
14 : * Major Contributor(s):
15 : * Copyright (C) 2011 SUSE <cbosdonnat@suse.com>
16 : *
17 : *
18 : * All Rights Reserved.
19 : *
20 : * For minor contributions see the git repository.
21 : *
22 : * Alternatively, the contents of this file may be used under the terms of
23 : * either the GNU General Public License Version 2 or later (the "GPLv2+"), or
24 : * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
25 : * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
26 : * instead of those above.
27 : */
28 : #ifndef _EXCEPTION_HXX_
29 : #define _EXCEPTION_HXX_
30 :
31 : #include <exception>
32 : #include <string>
33 :
34 : namespace libcmis
35 : {
36 : class Exception : public std::exception
37 : {
38 : private:
39 : std::string m_message;
40 : std::string m_type;
41 :
42 : public:
43 : Exception( std::string message, std::string type = "runtime" ) :
44 : exception( ),
45 : m_message( message ),
46 : m_type( type )
47 : {
48 : }
49 :
50 0 : ~Exception( ) throw () { }
51 0 : virtual const char* what() const throw()
52 : {
53 0 : return m_message.c_str( );
54 : }
55 :
56 : std::string getType( ) const { return m_type; }
57 : };
58 : }
59 :
60 : #endif
|