FlashGraph-ng
A new frontier in large-scale graph analysis and data mining
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
comm_exception.h
1 #ifndef __COMM_EXCEPTION_H__
2 #define __COMM_EXCEPTION_H__
3 
4 /*
5  * Copyright 2014 Open Connectome Project (http://openconnecto.me)
6  * Written by Da Zheng (zhengda1936@gmail.com)
7  *
8  * This file is part of SAFSlib.
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  */
22 #include <string>
23 #include <exception>
24 
25 /* out of memory exception */
26 class oom_exception: public std::exception
27 {
28  std::string msg;
29 public:
30  oom_exception() {
31  }
32 
33  oom_exception(const std::string &msg) {
34  this->msg = msg;
35  }
36 
37  ~oom_exception() throw() {
38  }
39 
40  const char* what() const throw() {
41  return msg.c_str();
42  }
43 };
44 
45 class unsupported_exception: public std::exception
46 {
47  std::string msg;
48 public:
49  unsupported_exception() {
50  }
51 
52  unsupported_exception(const std::string &msg) {
53  this->msg = msg;
54  }
55 
56  ~unsupported_exception() throw() {
57  }
58 
59  const char* what() const throw() {
60  return msg.c_str();
61  }
62 };
63 
64 class invalid_arg_exception: public std::exception
65 {
66  std::string msg;
67 public:
68  invalid_arg_exception(const std::string &msg) {
69  this->msg = msg;
70  }
71 
72  ~invalid_arg_exception() throw() {
73  }
74 
75  const char* what() const throw() {
76  return msg.c_str();
77  }
78 };
79 
80 #endif