Licenses: Updated the list of licenses and added a PDF containing all license texts
[check_mk.git] / cmk_base / exceptions.py
blobcad8035ab8d93c50568326c049af4ea7fd091045
1 #!/usr/bin/env python
2 # -*- encoding: utf-8; py-indent-offset: 4 -*-
3 # +------------------------------------------------------------------+
4 # | ____ _ _ __ __ _ __ |
5 # | / ___| |__ ___ ___| | __ | \/ | |/ / |
6 # | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
7 # | | |___| | | | __/ (__| < | | | | . \ |
8 # | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
9 # | |
10 # | Copyright Mathias Kettner 2014 mk@mathias-kettner.de |
11 # +------------------------------------------------------------------+
13 # This file is part of Check_MK.
14 # The official homepage is at http://mathias-kettner.de/check_mk.
16 # check_mk is free software; you can redistribute it and/or modify it
17 # under the terms of the GNU General Public License as published by
18 # the Free Software Foundation in version 2. check_mk is distributed
19 # in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
20 # out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
21 # PARTICULAR PURPOSE. See the GNU General Public License for more de-
22 # tails. You should have received a copy of the GNU General Public
23 # License along with GNU Make; see the file COPYING. If not, write
24 # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
25 # Boston, MA 02110-1301 USA.
27 # TODO: Inherit from cmk.MKGeneralException?
28 # TODO: Cleanup self.reason to use .args of standard exceptions
30 import traceback
32 from cmk.utils.exceptions import MKGeneralException as _MKGeneralException
35 class MKAgentError(Exception):
36 def __init__(self, reason):
37 super(MKAgentError, self).__init__(reason)
38 self.reason = reason
40 def __str__(self):
41 return self.reason
44 class MKIPAddressLookupError(_MKGeneralException):
45 pass
48 class MKEmptyAgentData(MKAgentError):
49 pass
52 class MKParseFunctionError(Exception):
53 def __init__(self, exception_type, exception, backtrace):
54 self.exception_type = exception_type
55 self.exception = exception
56 self.backtrace = backtrace
57 super(MKParseFunctionError, self).__init__(self, exception_type, exception, backtrace)
59 def exc_info(self):
60 return self.exception_type, self.exception, self.backtrace
62 def __str__(self):
63 return "%r\n%s" % (self.exception, "".join(traceback.format_tb(self.backtrace)))
66 class MKSNMPError(Exception):
67 def __init__(self, reason):
68 self.reason = reason
69 super(MKSNMPError, self).__init__(reason)
71 def __str__(self):
72 return self.reason
75 class MKSkipCheck(Exception):
76 pass