Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos_Exceptions.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Teuchos: Common Tools Package
4 //
5 // Copyright 2004 NTESS and the Teuchos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef TEUCHOS_EXCEPTIONS_HPP
11 #define TEUCHOS_EXCEPTIONS_HPP
12 
13 
14 #include "Teuchos_ConfigDefs.hpp"
15 
16 
17 namespace Teuchos {
18 
19 
24 class ExceptionBase : public std::logic_error
25 {public:ExceptionBase(const std::string& what_arg) : std::logic_error(what_arg) {}};
26 // 2007/11/07: rabartl: Above, I had to change the name from Exception to
27 // ExceptionBase because Marzio did a 'using namespace Teuchos' and then he
28 // declared his own Exception class. The file Laplacian3D.cpp failed to
29 // compile. STOP DOING USING NAMESPACE BLAH!!!!!!
30 
31 
37 {public:DuplicateOwningRCPError(const std::string& what_arg) : ExceptionBase(what_arg) {}};
38 
39 
45 {public:NullReferenceError(const std::string& what_arg) : ExceptionBase(what_arg) {}};
46 
47 
53 {public:NonconstAccessError(const std::string& what_arg) : ExceptionBase(what_arg) {}};
54 
55 
60 class RangeError : public ExceptionBase
61 {public:RangeError(const std::string& what_arg) : ExceptionBase(what_arg) {}};
62 
63 
69 {public:DanglingReferenceError(const std::string& what_arg) : ExceptionBase(what_arg) {}};
70 
71 
77 {public:IncompatibleIteratorsError(const std::string& what_arg) : ExceptionBase(what_arg) {}};
78 
86 
87 public:
88  DuplicateParameterSublist(const std::string& what_arg):
89  ExceptionBase(what_arg){}
90 
91 };
92 
100 
101 public:
102  DuplicateParameterEntryException(const std::string& what_arg):
103  ExceptionBase(what_arg){}
104 
105 };
106 
113 
114 public:
115  DuplicateParameterEntryIDException(const std::string& what_arg):
116  ExceptionBase(what_arg){}
117 
118 };
119 
126 
127 public:
128  DuplicateValidatorIDException(const std::string& what_arg):
129  ExceptionBase(what_arg){}
130 
131 };
132 
143 
144 public:
145  NonprintableTypeException(const std::string& what_arg) :
146  ExceptionBase(what_arg) {}
147 
148 };
149 
150 
151 
152 } // end namespace Teuchos
153 
154 
155 #endif // TEUCHOS_EXCEPTIONS_HPP
Dangling reference error exception class.
Null reference error exception class.
Thrown when a ParameterEntryValidatorID that is already being used is attempted to be reused again...
Optionally thrown when a sublist is set twice by either updateParametersFromXmlFile(), updateParametersFromXmlFileAndUpdate() or updateParametersFromXmlString()
Exception class for non-printable parameter types, such as enum class/std::vector and many more which...
Teuchos header file which uses auto-configuration information to include necessary C++ headers...
Thrown when a Parameter Entry ID that is already being used is attempted to be reused again...
Incompatiable iterators error exception class.
Base exception class for Teuchos.
Range error exception class.
Thrown when a Parameter Entry that is already being tracked is attempted to be inserted again into th...
Thrown if a duplicate owning RCP is creatd the the same object.
Null reference error exception class.