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
24namespace fawkes {
25namespace 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) noexcept
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.