OpenStructure
Loading...
Searching...
No Matches
exc.hh
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// This file is part of the OpenStructure project <www.openstructure.org>
3//
4// Copyright (C) 2008-2020 by the OpenStructure authors
5//
6// This library is free software; you can redistribute it and/or modify it under
7// the terms of the GNU Lesser General Public License as published by the Free
8// Software Foundation; either version 3.0 of the License, or (at your option)
9// any later version.
10// This library is distributed in the hope that it will be useful, but WITHOUT
11// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13// details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with this library; if not, write to the Free Software Foundation, Inc.,
17// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18//------------------------------------------------------------------------------
19#ifndef GEOM_EXCEPTION_HH
20#define GEOM_EXCEPTION_HH
21
22#include <stdexcept>
23#include <string>
24
26
27namespace geom {
28
29/*
30 The rationale behind this base class is
31 to povide a common exception for all
32 geom exceptions, so that implementing
33 code may choose to catch exceptions from
34 the geom library undifferentiatedly
35*/
36class DLLEXPORT GeomException: public std::runtime_error {
37public:
39 std::runtime_error(m) {}
40};
41
42class DLLEXPORT DivideByZeroException: public GeomException {
43public:
44 DivideByZeroException(const String& m="Divide By Zero"):
45 GeomException(m) {}
46};
47
48class DLLEXPORT OutOfRangeException: public GeomException {
49public:
50 OutOfRangeException(const String& m="Out Of Range"):
51 GeomException(m) {}
52};
53
54} // namespace geom
55
56#endif
DivideByZeroException(const String &m="Divide By Zero")
Definition exc.hh:44
GeomException(const String &m)
Definition exc.hh:38
OutOfRangeException(const String &m="Out Of Range")
Definition exc.hh:50
std::string String
Definition base.hh:54