Fawkes API  Fawkes Development Version
exceptions.cpp
1 /***************************************************************************
2  * exceptions.cpp - Fawkes tf exceptions
3  *
4  * Created: Tue Oct 18 16:41:19 2011
5  * Copyright 2011 Tim Niemueller [www.niemueller.de]
6  ****************************************************************************/
7 
8 /* This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version. A runtime exception applies to
12  * this software (see LICENSE.GPL_WRE file mentioned below for details).
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Library General Public License for more details.
18  *
19  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
20  */
21 
22 #include <tf/exceptions.h>
23 
24 namespace fawkes {
25 namespace tf {
26 
27 /** @class TransformException
28  * Base class for fawkes tf exceptions.
29  */
30 
31 /** Constructor. */
33 {
34 }
35 
36 /** @class ConnectivityException
37  * No connection between two frames in tree.
38  * While looking for a connection between two frames in the transform
39  * tree it was detected that there is no such connection.
40  */
41 
42 /** Constructor.
43  * @param format format of explanatory message of the error, format
44  * and parameters similar to sprintf.
45  */
47 {
48  va_list args;
49  va_start(args, format);
50  append_nolock_va(format, args);
51  va_end(args);
52 }
53 
54 /** @class LookupException
55  * A frame could not be looked up.
56  * Thrown if you try to access a frame which is unknown to the
57  * transforms system.
58  */
59 
60 /** Constructor.
61  * @param format format of explanatory message of the error, format
62  * and parameters similar to sprintf.
63  */
65 {
66  va_list args;
67  va_start(args, format);
68  append_nolock_va(format, args);
69  va_end(args);
70 }
71 
72 /** @class ExtrapolationException
73  * Request would have required extrapolation beyond current limits.
74  */
75 
76 /** Constructor.
77  * @param format format of explanatory message of the error, format
78  * and parameters similar to sprintf.
79  */
81 {
82  va_list args;
83  va_start(args, format);
84  append_nolock_va(format, args);
85  va_end(args);
86 }
87 
88 /** @class InvalidArgumentException
89  * Passed argument was invalid.
90  * A typica problem is passing an uninitialized quaternion (0,0,0,0).
91  */
92 
93 /** Constructor.
94  * @param format format of explanatory message of the error, format
95  * and parameters similar to sprintf.
96  */
98 {
99  va_list args;
100  va_start(args, format);
101  append_nolock_va(format, args);
102  va_end(args);
103 }
104 
105 /** @class DisabledException
106  * The requested feature is disabled.
107  */
108 
109 /** Constructor.
110  * @param format format of explanatory message of the error, format
111  * and parameters similar to sprintf.
112  */
114 {
115  va_list args;
116  va_start(args, format);
117  append_nolock_va(format, args);
118  va_end(args);
119 }
120 
121 } // end namespace tf
122 } // end namespace fawkes
Base class for exceptions in Fawkes.
Definition: exception.h:36
void append_nolock_va(const char *format, va_list va)
Append messages without lock by formatted string.
Definition: exception.cpp:449
ConnectivityException(const char *format,...)
Constructor.
Definition: exceptions.cpp:46
DisabledException(const char *format,...)
Constructor.
Definition: exceptions.cpp:113
ExtrapolationException(const char *format,...)
Constructor.
Definition: exceptions.cpp:80
InvalidArgumentException(const char *format,...)
Constructor.
Definition: exceptions.cpp:97
LookupException(const char *format,...)
Constructor.
Definition: exceptions.cpp:64
Base class for fawkes tf exceptions.
Definition: exceptions.h:31
Fawkes library namespace.