libpqxx
3.1.1
Main Page
Related Pages
Modules
Namespaces
Classes
except.hxx
1
/*-------------------------------------------------------------------------
2
*
3
* FILE
4
* pqxx/except.hxx
5
*
6
* DESCRIPTION
7
* definition of libpqxx exception classes
8
* pqxx::sql_error, pqxx::broken_connection, pqxx::in_doubt_error, ...
9
* DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/except instead.
10
*
11
* Copyright (c) 2003-2008, Jeroen T. Vermeulen <jtv@xs4all.nl>
12
*
13
* See COPYING for copyright license. If you did not receive a file called
14
* COPYING with this source code, please notify the distributor of this mistake,
15
* or contact the author.
16
*
17
*-------------------------------------------------------------------------
18
*/
19
#ifndef PQXX_H_EXCEPT
20
#define PQXX_H_EXCEPT
21
22
#include "pqxx/compiler-public.hxx"
23
#include "pqxx/compiler-internal-pre.hxx"
24
25
#include <stdexcept>
26
27
#include "pqxx/util"
28
29
30
namespace
pqxx
31
{
32
49
50
61
class
PQXX_LIBEXPORT PQXX_NOVTABLE
pqxx_exception
62
{
63
public
:
65
virtual
~
pqxx_exception
()
throw
() =0;
66
68
90
virtual
const
PGSTD::exception &base()
const
throw
() =0;
//[t0]
91
};
92
93
95
class
PQXX_LIBEXPORT
failure
:
96
public
pqxx_exception
,
public
PGSTD::runtime_error
97
{
98
virtual
const
PGSTD::exception &base()
const
throw
() {
return
*
this
; }
99
public
:
100
explicit
failure
(
const
PGSTD::string &);
101
};
102
103
105
123
class
PQXX_LIBEXPORT
broken_connection
:
public
failure
124
{
125
public
:
126
broken_connection
();
127
explicit
broken_connection
(
const
PGSTD::string &);
128
};
129
130
132
133
class
PQXX_LIBEXPORT
sql_error
:
public
failure
134
{
135
PGSTD::string m_Q;
136
137
public
:
138
sql_error
();
139
explicit
sql_error
(
const
PGSTD::string &);
140
sql_error
(
const
PGSTD::string &,
const
PGSTD::string &Q);
141
virtual
~
sql_error
()
throw
();
142
144
const
PGSTD::string &query()
const
throw
();
//[t56]
145
};
146
147
148
// TODO: should this be called statement_completion_unknown!?
150
156
class
PQXX_LIBEXPORT
in_doubt_error
:
public
failure
157
{
158
public
:
159
explicit
in_doubt_error
(
const
PGSTD::string &);
160
};
161
162
164
class
PQXX_LIBEXPORT
internal_error
:
165
public
pqxx_exception
,
public
PGSTD::logic_error
166
{
167
virtual
const
PGSTD::exception &base()
const
throw
() {
return
*
this
; }
168
public
:
169
explicit
internal_error
(
const
PGSTD::string &);
170
};
171
172
174
class
PQXX_LIBEXPORT
usage_error
:
175
public
pqxx_exception
,
public
PGSTD::logic_error
176
{
177
virtual
const
PGSTD::exception &base()
const
throw
() {
return
*
this
; }
178
public
:
179
explicit
usage_error
(
const
PGSTD::string &);
180
};
181
182
184
class
PQXX_LIBEXPORT
argument_error
:
185
public
pqxx_exception
,
public
PGSTD::invalid_argument
186
{
187
virtual
const
PGSTD::exception &base()
const
throw
() {
return
*
this
; }
188
public
:
189
explicit
argument_error
(
const
PGSTD::string &);
190
};
191
192
193
class
PQXX_LIBEXPORT
conversion_error
:
194
public
pqxx_exception
,
public
PGSTD::domain_error
195
{
196
virtual
const
PGSTD::exception &base()
const
throw
() {
return
*
this
; }
197
public
:
198
explicit
conversion_error
(
const
PGSTD::string &);
199
};
200
201
203
class
PQXX_LIBEXPORT
range_error
:
204
public
pqxx_exception
,
public
PGSTD::out_of_range
205
{
206
virtual
const
PGSTD::exception &base()
const
throw
() {
return
*
this
; }
207
public
:
208
explicit
range_error
(
const
PGSTD::string &);
209
};
210
211
213
class
PQXX_LIBEXPORT
feature_not_supported
:
public
sql_error
214
{
215
public
:
216
explicit
feature_not_supported
(
const
PGSTD::string &err) :
sql_error
(err) {}
217
feature_not_supported
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
218
sql_error
(err,Q) {}
219
};
220
222
class
PQXX_LIBEXPORT
data_exception
:
public
sql_error
223
{
224
public
:
225
explicit
data_exception
(
const
PGSTD::string &err) :
sql_error
(err) {}
226
data_exception
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
227
sql_error
(err,Q) {}
228
};
229
230
class
PQXX_LIBEXPORT
integrity_constraint_violation
:
public
sql_error
231
{
232
public
:
233
explicit
integrity_constraint_violation
(
const
PGSTD::string &err) :
234
sql_error
(err) {}
235
integrity_constraint_violation
(
const
PGSTD::string &err,
236
const
PGSTD::string &Q) :
237
sql_error
(err, Q) {}
238
};
239
240
class
PQXX_LIBEXPORT
restrict_violation
:
241
public
integrity_constraint_violation
242
{
243
public
:
244
explicit
restrict_violation
(
const
PGSTD::string &err) :
245
integrity_constraint_violation
(err) {}
246
restrict_violation
(
const
PGSTD::string &err,
247
const
PGSTD::string &Q) :
248
integrity_constraint_violation
(err, Q) {}
249
};
250
251
class
PQXX_LIBEXPORT
not_null_violation
:
252
public
integrity_constraint_violation
253
{
254
public
:
255
explicit
not_null_violation
(
const
PGSTD::string &err) :
256
integrity_constraint_violation
(err) {}
257
not_null_violation
(
const
PGSTD::string &err,
258
const
PGSTD::string &Q) :
259
integrity_constraint_violation
(err, Q) {}
260
};
261
262
class
PQXX_LIBEXPORT
foreign_key_violation
:
263
public
integrity_constraint_violation
264
{
265
public
:
266
explicit
foreign_key_violation
(
const
PGSTD::string &err) :
267
integrity_constraint_violation
(err) {}
268
foreign_key_violation
(
const
PGSTD::string &err,
269
const
PGSTD::string &Q) :
270
integrity_constraint_violation
(err, Q) {}
271
};
272
273
class
PQXX_LIBEXPORT
unique_violation
:
274
public
integrity_constraint_violation
275
{
276
public
:
277
explicit
unique_violation
(
const
PGSTD::string &err) :
278
integrity_constraint_violation
(err) {}
279
unique_violation
(
const
PGSTD::string &err,
280
const
PGSTD::string &Q) :
281
integrity_constraint_violation
(err, Q) {}
282
};
283
284
class
PQXX_LIBEXPORT
check_violation
:
285
public
integrity_constraint_violation
286
{
287
public
:
288
explicit
check_violation
(
const
PGSTD::string &err) :
289
integrity_constraint_violation
(err) {}
290
check_violation
(
const
PGSTD::string &err,
291
const
PGSTD::string &Q) :
292
integrity_constraint_violation
(err, Q) {}
293
};
294
295
class
PQXX_LIBEXPORT
invalid_cursor_state
:
public
sql_error
296
{
297
public
:
298
explicit
invalid_cursor_state
(
const
PGSTD::string &err) :
sql_error
(err) {}
299
invalid_cursor_state
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
300
sql_error
(err,Q) {}
301
};
302
303
class
PQXX_LIBEXPORT
invalid_sql_statement_name
:
public
sql_error
304
{
305
public
:
306
explicit
invalid_sql_statement_name
(
const
PGSTD::string &err) :
307
sql_error
(err) {}
308
invalid_sql_statement_name
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
309
sql_error
(err,Q) {}
310
};
311
312
class
PQXX_LIBEXPORT
invalid_cursor_name
:
public
sql_error
313
{
314
public
:
315
explicit
invalid_cursor_name
(
const
PGSTD::string &err) :
sql_error
(err) {}
316
invalid_cursor_name
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
317
sql_error
(err,Q) {}
318
};
319
320
class
PQXX_LIBEXPORT
syntax_error
:
public
sql_error
321
{
322
public
:
323
explicit
syntax_error
(
const
PGSTD::string &err) :
sql_error
(err) {}
324
syntax_error
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
325
sql_error
(err,Q) {}
326
};
327
328
class
PQXX_LIBEXPORT
undefined_column
:
public
syntax_error
329
{
330
public
:
331
explicit
undefined_column
(
const
PGSTD::string &err) :
syntax_error
(err) {}
332
undefined_column
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
333
syntax_error
(err, Q) {}
334
};
335
336
class
PQXX_LIBEXPORT
undefined_function
:
public
syntax_error
337
{
338
public
:
339
explicit
undefined_function
(
const
PGSTD::string &err) :
syntax_error
(err) {}
340
undefined_function
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
341
syntax_error
(err, Q) {}
342
};
343
344
class
PQXX_LIBEXPORT
undefined_table
:
public
syntax_error
345
{
346
public
:
347
explicit
undefined_table
(
const
PGSTD::string &err) :
syntax_error
(err) {}
348
undefined_table
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
349
syntax_error
(err, Q) {}
350
};
351
352
class
PQXX_LIBEXPORT
insufficient_privilege
:
public
sql_error
353
{
354
public
:
355
explicit
insufficient_privilege
(
const
PGSTD::string &err) :
sql_error
(err) {}
356
insufficient_privilege
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
357
sql_error
(err,Q) {}
358
};
359
361
class
PQXX_LIBEXPORT
insufficient_resources
:
public
sql_error
362
{
363
public
:
364
explicit
insufficient_resources
(
const
PGSTD::string &err) :
sql_error
(err) {}
365
insufficient_resources
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
366
sql_error
(err,Q) {}
367
};
368
369
class
PQXX_LIBEXPORT
disk_full
:
public
insufficient_resources
370
{
371
public
:
372
explicit
disk_full
(
const
PGSTD::string &err) :
insufficient_resources
(err) {}
373
disk_full
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
374
insufficient_resources
(err,Q) {}
375
};
376
377
class
PQXX_LIBEXPORT
out_of_memory
:
public
insufficient_resources
378
{
379
public
:
380
explicit
out_of_memory
(
const
PGSTD::string &err) :
381
insufficient_resources
(err) {}
382
out_of_memory
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
383
insufficient_resources
(err,Q) {}
384
};
385
386
class
PQXX_LIBEXPORT
too_many_connections
:
public
broken_connection
387
{
388
public
:
389
explicit
too_many_connections
(
const
PGSTD::string &err) :
390
broken_connection
(err) {}
391
};
392
394
396
class
PQXX_LIBEXPORT
plpgsql_error
:
public
sql_error
397
{
398
public
:
399
explicit
plpgsql_error
(
const
PGSTD::string &err) :
400
sql_error
(err) {}
401
plpgsql_error
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
402
sql_error
(err, Q) {}
403
};
404
406
class
PQXX_LIBEXPORT
plpgsql_raise
:
public
plpgsql_error
407
{
408
public
:
409
explicit
plpgsql_raise
(
const
PGSTD::string &err) :
410
plpgsql_error
(err) {}
411
plpgsql_raise
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
412
plpgsql_error
(err, Q) {}
413
};
414
415
class
PQXX_LIBEXPORT
plpgsql_no_data_found
:
public
plpgsql_error
416
{
417
public
:
418
explicit
plpgsql_no_data_found
(
const
PGSTD::string &err) :
419
plpgsql_error
(err) {}
420
plpgsql_no_data_found
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
421
plpgsql_error
(err, Q) {}
422
};
423
424
class
PQXX_LIBEXPORT
plpgsql_too_many_rows
:
public
plpgsql_error
425
{
426
public
:
427
explicit
plpgsql_too_many_rows
(
const
PGSTD::string &err) :
428
plpgsql_error
(err) {}
429
plpgsql_too_many_rows
(
const
PGSTD::string &err,
const
PGSTD::string &Q) :
430
plpgsql_error
(err, Q) {}
431
};
432
437
}
438
439
#include "pqxx/compiler-internal-post.hxx"
440
441
#endif
442
include
pqxx
except.hxx
Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
1.8.1.2