/src/freeimage-svn/FreeImage/trunk/Source/OpenEXR/Iex/IexThrowErrnoExc.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | /////////////////////////////////////////////////////////////////////////// |
2 | | // |
3 | | // Copyright (c) 2002-2012, Industrial Light & Magic, a division of Lucas |
4 | | // Digital Ltd. LLC |
5 | | // |
6 | | // All rights reserved. |
7 | | // |
8 | | // Redistribution and use in source and binary forms, with or without |
9 | | // modification, are permitted provided that the following conditions are |
10 | | // met: |
11 | | // * Redistributions of source code must retain the above copyright |
12 | | // notice, this list of conditions and the following disclaimer. |
13 | | // * Redistributions in binary form must reproduce the above |
14 | | // copyright notice, this list of conditions and the following disclaimer |
15 | | // in the documentation and/or other materials provided with the |
16 | | // distribution. |
17 | | // * Neither the name of Industrial Light & Magic nor the names of |
18 | | // its contributors may be used to endorse or promote products derived |
19 | | // from this software without specific prior written permission. |
20 | | // |
21 | | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
22 | | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
23 | | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
24 | | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
25 | | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
26 | | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
27 | | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
28 | | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
29 | | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
30 | | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
31 | | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
32 | | // |
33 | | /////////////////////////////////////////////////////////////////////////// |
34 | | |
35 | | |
36 | | |
37 | | //---------------------------------------------------------------- |
38 | | // |
39 | | // Exceptions that correspond to "errno" error codes, |
40 | | // and a function to make throwing those exceptions easy. |
41 | | // |
42 | | //---------------------------------------------------------------- |
43 | | |
44 | | #include "IexThrowErrnoExc.h" |
45 | | #include "IexErrnoExc.h" |
46 | | #include <string.h> |
47 | | #include <errno.h> |
48 | | |
49 | | #ifdef PLATFORM_WINDOWS |
50 | | #include <windows.h> |
51 | | #endif |
52 | | |
53 | | IEX_INTERNAL_NAMESPACE_SOURCE_ENTER |
54 | | |
55 | | |
56 | | void throwErrnoExc (const std::string &text, int errnum) |
57 | 0 | { |
58 | | #ifdef PLATFORM_WINDOWS |
59 | | if (0 != getenv("IEXDEBUGTHROW")) |
60 | | DebugBreak(); |
61 | | #endif |
62 | |
|
63 | 0 | const char *entext = strerror (errnum); |
64 | 0 | std::string tmp (text); |
65 | 0 | std::string::size_type pos; |
66 | |
|
67 | 0 | while (std::string::npos != (pos = tmp.find ("%T"))) |
68 | 0 | tmp.replace (pos, 2, entext, strlen (entext)); |
69 | |
|
70 | 0 | switch (errnum) |
71 | 0 | { |
72 | 0 | #if defined (EPERM) |
73 | 0 | case EPERM: |
74 | 0 | throw EpermExc (tmp); |
75 | 0 | #endif |
76 | | |
77 | 0 | #if defined (ENOENT) |
78 | 0 | case ENOENT: |
79 | 0 | throw EnoentExc (tmp); |
80 | 0 | #endif |
81 | | |
82 | 0 | #if defined (ESRCH) |
83 | 0 | case ESRCH: |
84 | 0 | throw EsrchExc (tmp); |
85 | 0 | #endif |
86 | | |
87 | 0 | #if defined (EINTR) |
88 | 0 | case EINTR: |
89 | 0 | throw EintrExc (tmp); |
90 | 0 | #endif |
91 | | |
92 | 0 | #if defined (EIO) |
93 | 0 | case EIO: |
94 | 0 | throw EioExc (tmp); |
95 | 0 | #endif |
96 | | |
97 | 0 | #if defined (ENXIO) |
98 | 0 | case ENXIO: |
99 | 0 | throw EnxioExc (tmp); |
100 | 0 | #endif |
101 | | |
102 | 0 | #if defined (E2BIG) |
103 | 0 | case E2BIG: |
104 | 0 | throw E2bigExc (tmp); |
105 | 0 | #endif |
106 | | |
107 | 0 | #if defined (ENOEXEC) |
108 | 0 | case ENOEXEC: |
109 | 0 | throw EnoexecExc (tmp); |
110 | 0 | #endif |
111 | | |
112 | 0 | #if defined (EBADF) |
113 | 0 | case EBADF: |
114 | 0 | throw EbadfExc (tmp); |
115 | 0 | #endif |
116 | | |
117 | 0 | #if defined (ECHILD) |
118 | 0 | case ECHILD: |
119 | 0 | throw EchildExc (tmp); |
120 | 0 | #endif |
121 | | |
122 | 0 | #if defined (EAGAIN) |
123 | 0 | case EAGAIN: |
124 | 0 | throw EagainExc (tmp); |
125 | 0 | #endif |
126 | | |
127 | 0 | #if defined (ENOMEM) |
128 | 0 | case ENOMEM: |
129 | 0 | throw EnomemExc (tmp); |
130 | 0 | #endif |
131 | | |
132 | 0 | #if defined (EACCES) |
133 | 0 | case EACCES: |
134 | 0 | throw EaccesExc (tmp); |
135 | 0 | #endif |
136 | | |
137 | 0 | #if defined (EFAULT) |
138 | 0 | case EFAULT: |
139 | 0 | throw EfaultExc (tmp); |
140 | 0 | #endif |
141 | | |
142 | 0 | #if defined (ENOTBLK) |
143 | 0 | case ENOTBLK: |
144 | 0 | throw EnotblkExc (tmp); |
145 | 0 | #endif |
146 | | |
147 | 0 | #if defined (EBUSY) |
148 | 0 | case EBUSY: |
149 | 0 | throw EbusyExc (tmp); |
150 | 0 | #endif |
151 | | |
152 | 0 | #if defined (EEXIST) |
153 | 0 | case EEXIST: |
154 | 0 | throw EexistExc (tmp); |
155 | 0 | #endif |
156 | | |
157 | 0 | #if defined (EXDEV) |
158 | 0 | case EXDEV: |
159 | 0 | throw ExdevExc (tmp); |
160 | 0 | #endif |
161 | | |
162 | 0 | #if defined (ENODEV) |
163 | 0 | case ENODEV: |
164 | 0 | throw EnodevExc (tmp); |
165 | 0 | #endif |
166 | | |
167 | 0 | #if defined (ENOTDIR) |
168 | 0 | case ENOTDIR: |
169 | 0 | throw EnotdirExc (tmp); |
170 | 0 | #endif |
171 | | |
172 | 0 | #if defined (EISDIR) |
173 | 0 | case EISDIR: |
174 | 0 | throw EisdirExc (tmp); |
175 | 0 | #endif |
176 | | |
177 | 0 | #if defined (EINVAL) |
178 | 0 | case EINVAL: |
179 | 0 | throw EinvalExc (tmp); |
180 | 0 | #endif |
181 | | |
182 | 0 | #if defined (ENFILE) |
183 | 0 | case ENFILE: |
184 | 0 | throw EnfileExc (tmp); |
185 | 0 | #endif |
186 | | |
187 | 0 | #if defined (EMFILE) |
188 | 0 | case EMFILE: |
189 | 0 | throw EmfileExc (tmp); |
190 | 0 | #endif |
191 | | |
192 | 0 | #if defined (ENOTTY) |
193 | 0 | case ENOTTY: |
194 | 0 | throw EnottyExc (tmp); |
195 | 0 | #endif |
196 | | |
197 | 0 | #if defined (ETXTBSY) |
198 | 0 | case ETXTBSY: |
199 | 0 | throw EtxtbsyExc (tmp); |
200 | 0 | #endif |
201 | | |
202 | 0 | #if defined (EFBIG) |
203 | 0 | case EFBIG: |
204 | 0 | throw EfbigExc (tmp); |
205 | 0 | #endif |
206 | | |
207 | 0 | #if defined (ENOSPC) |
208 | 0 | case ENOSPC: |
209 | 0 | throw EnospcExc (tmp); |
210 | 0 | #endif |
211 | | |
212 | 0 | #if defined (ESPIPE) |
213 | 0 | case ESPIPE: |
214 | 0 | throw EspipeExc (tmp); |
215 | 0 | #endif |
216 | | |
217 | 0 | #if defined (EROFS) |
218 | 0 | case EROFS: |
219 | 0 | throw ErofsExc (tmp); |
220 | 0 | #endif |
221 | | |
222 | 0 | #if defined (EMLINK) |
223 | 0 | case EMLINK: |
224 | 0 | throw EmlinkExc (tmp); |
225 | 0 | #endif |
226 | | |
227 | 0 | #if defined (EPIPE) |
228 | 0 | case EPIPE: |
229 | 0 | throw EpipeExc (tmp); |
230 | 0 | #endif |
231 | | |
232 | 0 | #if defined (EDOM) |
233 | 0 | case EDOM: |
234 | 0 | throw EdomExc (tmp); |
235 | 0 | #endif |
236 | | |
237 | 0 | #if defined (ERANGE) |
238 | 0 | case ERANGE: |
239 | 0 | throw ErangeExc (tmp); |
240 | 0 | #endif |
241 | | |
242 | 0 | #if defined (ENOMSG) |
243 | 0 | case ENOMSG: |
244 | 0 | throw EnomsgExc (tmp); |
245 | 0 | #endif |
246 | | |
247 | 0 | #if defined (EIDRM) |
248 | 0 | case EIDRM: |
249 | 0 | throw EidrmExc (tmp); |
250 | 0 | #endif |
251 | | |
252 | 0 | #if defined (ECHRNG) |
253 | 0 | case ECHRNG: |
254 | 0 | throw EchrngExc (tmp); |
255 | 0 | #endif |
256 | | |
257 | 0 | #if defined (EL2NSYNC) |
258 | 0 | case EL2NSYNC: |
259 | 0 | throw El2nsyncExc (tmp); |
260 | 0 | #endif |
261 | | |
262 | 0 | #if defined (EL3HLT) |
263 | 0 | case EL3HLT: |
264 | 0 | throw El3hltExc (tmp); |
265 | 0 | #endif |
266 | | |
267 | 0 | #if defined (EL3RST) |
268 | 0 | case EL3RST: |
269 | 0 | throw El3rstExc (tmp); |
270 | 0 | #endif |
271 | | |
272 | 0 | #if defined (ELNRNG) |
273 | 0 | case ELNRNG: |
274 | 0 | throw ElnrngExc (tmp); |
275 | 0 | #endif |
276 | | |
277 | 0 | #if defined (EUNATCH) |
278 | 0 | case EUNATCH: |
279 | 0 | throw EunatchExc (tmp); |
280 | 0 | #endif |
281 | | |
282 | | #if defined (ENOSCI) |
283 | | case ENOCSI: |
284 | | throw EnocsiExc (tmp); |
285 | | #endif |
286 | | |
287 | 0 | #if defined (EL2HLT) |
288 | 0 | case EL2HLT: |
289 | 0 | throw El2hltExc (tmp); |
290 | 0 | #endif |
291 | | |
292 | 0 | #if defined (EDEADLK) |
293 | 0 | case EDEADLK: |
294 | 0 | throw EdeadlkExc (tmp); |
295 | 0 | #endif |
296 | | |
297 | 0 | #if defined (ENOLCK) |
298 | 0 | case ENOLCK: |
299 | 0 | throw EnolckExc (tmp); |
300 | 0 | #endif |
301 | | |
302 | 0 | #if defined (EBADE) |
303 | 0 | case EBADE: |
304 | 0 | throw EbadeExc (tmp); |
305 | 0 | #endif |
306 | | |
307 | 0 | #if defined (EBADR) |
308 | 0 | case EBADR: |
309 | 0 | throw EbadrExc (tmp); |
310 | 0 | #endif |
311 | | |
312 | 0 | #if defined (EXFULL) |
313 | 0 | case EXFULL: |
314 | 0 | throw ExfullExc (tmp); |
315 | 0 | #endif |
316 | | |
317 | 0 | #if defined (ENOANO) |
318 | 0 | case ENOANO: |
319 | 0 | throw EnoanoExc (tmp); |
320 | 0 | #endif |
321 | | |
322 | 0 | #if defined (EBADRQC) |
323 | 0 | case EBADRQC: |
324 | 0 | throw EbadrqcExc (tmp); |
325 | 0 | #endif |
326 | | |
327 | 0 | #if defined (EBADSLT) |
328 | 0 | case EBADSLT: |
329 | 0 | throw EbadsltExc (tmp); |
330 | 0 | #endif |
331 | | |
332 | 0 | #if defined (EDEADLOCK) && defined (EDEADLK) |
333 | | #if EDEADLOCK != EDEADLK |
334 | | case EDEADLOCK: |
335 | | throw EdeadlockExc (tmp); |
336 | | #endif |
337 | | #elif defined (EDEADLOCK) |
338 | | case EDEADLOCK: |
339 | | throw EdeadlockExc (tmp); |
340 | | #endif |
341 | | |
342 | 0 | #if defined (EBFONT) |
343 | 0 | case EBFONT: |
344 | 0 | throw EbfontExc (tmp); |
345 | 0 | #endif |
346 | | |
347 | 0 | #if defined (ENOSTR) |
348 | 0 | case ENOSTR: |
349 | 0 | throw EnostrExc (tmp); |
350 | 0 | #endif |
351 | | |
352 | 0 | #if defined (ENODATA) |
353 | 0 | case ENODATA: |
354 | 0 | throw EnodataExc (tmp); |
355 | 0 | #endif |
356 | | |
357 | 0 | #if defined (ETIME) |
358 | 0 | case ETIME: |
359 | 0 | throw EtimeExc (tmp); |
360 | 0 | #endif |
361 | | |
362 | 0 | #if defined (ENOSR) |
363 | 0 | case ENOSR: |
364 | 0 | throw EnosrExc (tmp); |
365 | 0 | #endif |
366 | | |
367 | 0 | #if defined (ENONET) |
368 | 0 | case ENONET: |
369 | 0 | throw EnonetExc (tmp); |
370 | 0 | #endif |
371 | | |
372 | 0 | #if defined (ENOPKG) |
373 | 0 | case ENOPKG: |
374 | 0 | throw EnopkgExc (tmp); |
375 | 0 | #endif |
376 | | |
377 | 0 | #if defined (EREMOTE) |
378 | 0 | case EREMOTE: |
379 | 0 | throw EremoteExc (tmp); |
380 | 0 | #endif |
381 | | |
382 | 0 | #if defined (ENOLINK) |
383 | 0 | case ENOLINK: |
384 | 0 | throw EnolinkExc (tmp); |
385 | 0 | #endif |
386 | | |
387 | 0 | #if defined (EADV) |
388 | 0 | case EADV: |
389 | 0 | throw EadvExc (tmp); |
390 | 0 | #endif |
391 | | |
392 | 0 | #if defined (ESRMNT) |
393 | 0 | case ESRMNT: |
394 | 0 | throw EsrmntExc (tmp); |
395 | 0 | #endif |
396 | | |
397 | 0 | #if defined (ECOMM) |
398 | 0 | case ECOMM: |
399 | 0 | throw EcommExc (tmp); |
400 | 0 | #endif |
401 | | |
402 | 0 | #if defined (EPROTO) |
403 | 0 | case EPROTO: |
404 | 0 | throw EprotoExc (tmp); |
405 | 0 | #endif |
406 | | |
407 | 0 | #if defined (EMULTIHOP) |
408 | 0 | case EMULTIHOP: |
409 | 0 | throw EmultihopExc (tmp); |
410 | 0 | #endif |
411 | | |
412 | 0 | #if defined (EBADMSG) |
413 | 0 | case EBADMSG: |
414 | 0 | throw EbadmsgExc (tmp); |
415 | 0 | #endif |
416 | | |
417 | 0 | #if defined (ENAMETOOLONG) |
418 | 0 | case ENAMETOOLONG: |
419 | 0 | throw EnametoolongExc (tmp); |
420 | 0 | #endif |
421 | | |
422 | 0 | #if defined (EOVERFLOW) |
423 | 0 | case EOVERFLOW: |
424 | 0 | throw EoverflowExc (tmp); |
425 | 0 | #endif |
426 | | |
427 | 0 | #if defined (ENOTUNIQ) |
428 | 0 | case ENOTUNIQ: |
429 | 0 | throw EnotuniqExc (tmp); |
430 | 0 | #endif |
431 | | |
432 | 0 | #if defined (EBADFD) |
433 | 0 | case EBADFD: |
434 | 0 | throw EbadfdExc (tmp); |
435 | 0 | #endif |
436 | | |
437 | 0 | #if defined (EREMCHG) |
438 | 0 | case EREMCHG: |
439 | 0 | throw EremchgExc (tmp); |
440 | 0 | #endif |
441 | | |
442 | 0 | #if defined (ELIBACC) |
443 | 0 | case ELIBACC: |
444 | 0 | throw ElibaccExc (tmp); |
445 | 0 | #endif |
446 | | |
447 | 0 | #if defined (ELIBBAD) |
448 | 0 | case ELIBBAD: |
449 | 0 | throw ElibbadExc (tmp); |
450 | 0 | #endif |
451 | | |
452 | 0 | #if defined (ELIBSCN) |
453 | 0 | case ELIBSCN: |
454 | 0 | throw ElibscnExc (tmp); |
455 | 0 | #endif |
456 | | |
457 | 0 | #if defined (ELIBMAX) |
458 | 0 | case ELIBMAX: |
459 | 0 | throw ElibmaxExc (tmp); |
460 | 0 | #endif |
461 | | |
462 | 0 | #if defined (ELIBEXEC) |
463 | 0 | case ELIBEXEC: |
464 | 0 | throw ElibexecExc (tmp); |
465 | 0 | #endif |
466 | | |
467 | 0 | #if defined (EILSEQ) |
468 | 0 | case EILSEQ: |
469 | 0 | throw EilseqExc (tmp); |
470 | 0 | #endif |
471 | | |
472 | 0 | #if defined (ENOSYS) |
473 | 0 | case ENOSYS: |
474 | 0 | throw EnosysExc (tmp); |
475 | 0 | #endif |
476 | | |
477 | 0 | #if defined (ELOOP) |
478 | 0 | case ELOOP: |
479 | 0 | throw EloopExc (tmp); |
480 | 0 | #endif |
481 | | |
482 | 0 | #if defined (ERESTART) |
483 | 0 | case ERESTART: |
484 | 0 | throw ErestartExc (tmp); |
485 | 0 | #endif |
486 | | |
487 | 0 | #if defined (ESTRPIPE) |
488 | 0 | case ESTRPIPE: |
489 | 0 | throw EstrpipeExc (tmp); |
490 | 0 | #endif |
491 | | |
492 | 0 | #if defined (ENOTEMPTY) |
493 | 0 | case ENOTEMPTY: |
494 | 0 | throw EnotemptyExc (tmp); |
495 | 0 | #endif |
496 | | |
497 | 0 | #if defined (EUSERS) |
498 | 0 | case EUSERS: |
499 | 0 | throw EusersExc (tmp); |
500 | 0 | #endif |
501 | | |
502 | 0 | #if defined (ENOTSOCK) |
503 | 0 | case ENOTSOCK: |
504 | 0 | throw EnotsockExc (tmp); |
505 | 0 | #endif |
506 | | |
507 | 0 | #if defined (EDESTADDRREQ) |
508 | 0 | case EDESTADDRREQ: |
509 | 0 | throw EdestaddrreqExc (tmp); |
510 | 0 | #endif |
511 | | |
512 | 0 | #if defined (EMSGSIZE) |
513 | 0 | case EMSGSIZE: |
514 | 0 | throw EmsgsizeExc (tmp); |
515 | 0 | #endif |
516 | | |
517 | 0 | #if defined (EPROTOTYPE) |
518 | 0 | case EPROTOTYPE: |
519 | 0 | throw EprototypeExc (tmp); |
520 | 0 | #endif |
521 | | |
522 | 0 | #if defined (ENOPROTOOPT) |
523 | 0 | case ENOPROTOOPT: |
524 | 0 | throw EnoprotooptExc (tmp); |
525 | 0 | #endif |
526 | | |
527 | 0 | #if defined (EPROTONOSUPPORT) |
528 | 0 | case EPROTONOSUPPORT: |
529 | 0 | throw EprotonosupportExc (tmp); |
530 | 0 | #endif |
531 | | |
532 | 0 | #if defined (ESOCKTNOSUPPORT) |
533 | 0 | case ESOCKTNOSUPPORT: |
534 | 0 | throw EsocktnosupportExc (tmp); |
535 | 0 | #endif |
536 | | |
537 | 0 | #if defined (EOPNOTSUPP) |
538 | 0 | case EOPNOTSUPP: |
539 | 0 | throw EopnotsuppExc (tmp); |
540 | 0 | #endif |
541 | | |
542 | 0 | #if defined (EPFNOSUPPORT) |
543 | 0 | case EPFNOSUPPORT: |
544 | 0 | throw EpfnosupportExc (tmp); |
545 | 0 | #endif |
546 | | |
547 | 0 | #if defined (EAFNOSUPPORT) |
548 | 0 | case EAFNOSUPPORT: |
549 | 0 | throw EafnosupportExc (tmp); |
550 | 0 | #endif |
551 | | |
552 | 0 | #if defined (EADDRINUSE) |
553 | 0 | case EADDRINUSE: |
554 | 0 | throw EaddrinuseExc (tmp); |
555 | 0 | #endif |
556 | | |
557 | 0 | #if defined (EADDRNOTAVAIL) |
558 | 0 | case EADDRNOTAVAIL: |
559 | 0 | throw EaddrnotavailExc (tmp); |
560 | 0 | #endif |
561 | | |
562 | 0 | #if defined (ENETDOWN) |
563 | 0 | case ENETDOWN: |
564 | 0 | throw EnetdownExc (tmp); |
565 | 0 | #endif |
566 | | |
567 | 0 | #if defined (ENETUNREACH) |
568 | 0 | case ENETUNREACH: |
569 | 0 | throw EnetunreachExc (tmp); |
570 | 0 | #endif |
571 | | |
572 | 0 | #if defined (ENETRESET) |
573 | 0 | case ENETRESET: |
574 | 0 | throw EnetresetExc (tmp); |
575 | 0 | #endif |
576 | | |
577 | 0 | #if defined (ECONNABORTED) |
578 | 0 | case ECONNABORTED: |
579 | 0 | throw EconnabortedExc (tmp); |
580 | 0 | #endif |
581 | | |
582 | 0 | #if defined (ECONNRESET) |
583 | 0 | case ECONNRESET: |
584 | 0 | throw EconnresetExc (tmp); |
585 | 0 | #endif |
586 | | |
587 | 0 | #if defined (ENOBUFS) |
588 | 0 | case ENOBUFS: |
589 | 0 | throw EnobufsExc (tmp); |
590 | 0 | #endif |
591 | | |
592 | 0 | #if defined (EISCONN) |
593 | 0 | case EISCONN: |
594 | 0 | throw EisconnExc (tmp); |
595 | 0 | #endif |
596 | | |
597 | 0 | #if defined (ENOTCONN) |
598 | 0 | case ENOTCONN: |
599 | 0 | throw EnotconnExc (tmp); |
600 | 0 | #endif |
601 | | |
602 | 0 | #if defined (ESHUTDOWN) |
603 | 0 | case ESHUTDOWN: |
604 | 0 | throw EshutdownExc (tmp); |
605 | 0 | #endif |
606 | | |
607 | 0 | #if defined (ETOOMANYREFS) |
608 | 0 | case ETOOMANYREFS: |
609 | 0 | throw EtoomanyrefsExc (tmp); |
610 | 0 | #endif |
611 | | |
612 | 0 | #if defined (ETIMEDOUT) |
613 | 0 | case ETIMEDOUT: |
614 | 0 | throw EtimedoutExc (tmp); |
615 | 0 | #endif |
616 | | |
617 | 0 | #if defined (ECONNREFUSED) |
618 | 0 | case ECONNREFUSED: |
619 | 0 | throw EconnrefusedExc (tmp); |
620 | 0 | #endif |
621 | | |
622 | 0 | #if defined (EHOSTDOWN) |
623 | 0 | case EHOSTDOWN: |
624 | 0 | throw EhostdownExc (tmp); |
625 | 0 | #endif |
626 | | |
627 | 0 | #if defined (EHOSTUNREACH) |
628 | 0 | case EHOSTUNREACH: |
629 | 0 | throw EhostunreachExc (tmp); |
630 | 0 | #endif |
631 | | |
632 | 0 | #if defined (EALREADY) |
633 | 0 | case EALREADY: |
634 | 0 | throw EalreadyExc (tmp); |
635 | 0 | #endif |
636 | | |
637 | 0 | #if defined (EINPROGRESS) |
638 | 0 | case EINPROGRESS: |
639 | 0 | throw EinprogressExc (tmp); |
640 | 0 | #endif |
641 | | |
642 | 0 | #if defined (ESTALE) |
643 | 0 | case ESTALE: |
644 | 0 | throw EstaleExc (tmp); |
645 | 0 | #endif |
646 | | |
647 | | #if defined (EIORESID) |
648 | | case EIORESID: |
649 | | throw EioresidExc (tmp); |
650 | | #endif |
651 | | |
652 | 0 | #if defined (EUCLEAN) |
653 | 0 | case EUCLEAN: |
654 | 0 | throw EucleanExc (tmp); |
655 | 0 | #endif |
656 | | |
657 | 0 | #if defined (ENOTNAM) |
658 | 0 | case ENOTNAM: |
659 | 0 | throw EnotnamExc (tmp); |
660 | 0 | #endif |
661 | | |
662 | 0 | #if defined (ENAVAIL) |
663 | 0 | case ENAVAIL: |
664 | 0 | throw EnavailExc (tmp); |
665 | 0 | #endif |
666 | | |
667 | 0 | #if defined (EISNAM) |
668 | 0 | case EISNAM: |
669 | 0 | throw EisnamExc (tmp); |
670 | 0 | #endif |
671 | | |
672 | 0 | #if defined (EREMOTEIO) |
673 | 0 | case EREMOTEIO: |
674 | 0 | throw EremoteioExc (tmp); |
675 | 0 | #endif |
676 | | |
677 | | #if defined (EINIT) |
678 | | case EINIT: |
679 | | throw EinitExc (tmp); |
680 | | #endif |
681 | | |
682 | | #if defined (EREMDEV) |
683 | | case EREMDEV: |
684 | | throw EremdevExc (tmp); |
685 | | #endif |
686 | | |
687 | 0 | #if defined (ECANCELED) |
688 | 0 | case ECANCELED: |
689 | 0 | throw EcanceledExc (tmp); |
690 | 0 | #endif |
691 | | |
692 | | #if defined (ENOLIMFILE) |
693 | | case ENOLIMFILE: |
694 | | throw EnolimfileExc (tmp); |
695 | | #endif |
696 | | |
697 | | #if defined (EPROCLIM) |
698 | | case EPROCLIM: |
699 | | throw EproclimExc (tmp); |
700 | | #endif |
701 | | |
702 | | #if defined (EDISJOINT) |
703 | | case EDISJOINT: |
704 | | throw EdisjointExc (tmp); |
705 | | #endif |
706 | | |
707 | | #if defined (ENOLOGIN) |
708 | | case ENOLOGIN: |
709 | | throw EnologinExc (tmp); |
710 | | #endif |
711 | | |
712 | | #if defined (ELOGINLIM) |
713 | | case ELOGINLIM: |
714 | | throw EloginlimExc (tmp); |
715 | | #endif |
716 | | |
717 | | #if defined (EGROUPLOOP) |
718 | | case EGROUPLOOP: |
719 | | throw EgrouploopExc (tmp); |
720 | | #endif |
721 | | |
722 | | #if defined (ENOATTACH) |
723 | | case ENOATTACH: |
724 | | throw EnoattachExc (tmp); |
725 | | #endif |
726 | | |
727 | 0 | #if defined (ENOTSUP) && defined (EOPNOTSUPP) |
728 | | #if ENOTSUP != EOPNOTSUPP |
729 | | case ENOTSUP: |
730 | | throw EnotsupExc (tmp); |
731 | | #endif |
732 | | #elif defined (ENOTSUP) |
733 | | case ENOTSUP: |
734 | | throw EnotsupExc (tmp); |
735 | | #endif |
736 | | |
737 | | #if defined (ENOATTR) |
738 | | case ENOATTR: |
739 | | throw EnoattrExc (tmp); |
740 | | #endif |
741 | | |
742 | | #if defined (EDIRCORRUPTED) |
743 | | case EDIRCORRUPTED: |
744 | | throw EdircorruptedExc (tmp); |
745 | | #endif |
746 | | |
747 | 0 | #if defined (EDQUOT) |
748 | 0 | case EDQUOT: |
749 | 0 | throw EdquotExc (tmp); |
750 | 0 | #endif |
751 | |
|
752 | | #if defined (ENFSREMOTE) |
753 | | case ENFSREMOTE: |
754 | | throw EnfsremoteExc (tmp); |
755 | | #endif |
756 | |
|
757 | | #if defined (ECONTROLLER) |
758 | | case ECONTROLLER: |
759 | | throw EcontrollerExc (tmp); |
760 | | #endif |
761 | |
|
762 | | #if defined (ENOTCONTROLLER) |
763 | | case ENOTCONTROLLER: |
764 | | throw EnotcontrollerExc (tmp); |
765 | | #endif |
766 | |
|
767 | | #if defined (EENQUEUED) |
768 | | case EENQUEUED: |
769 | | throw EenqueuedExc (tmp); |
770 | | #endif |
771 | |
|
772 | | #if defined (ENOTENQUEUED) |
773 | | case ENOTENQUEUED: |
774 | | throw EnotenqueuedExc (tmp); |
775 | | #endif |
776 | |
|
777 | | #if defined (EJOINED) |
778 | | case EJOINED: |
779 | | throw EjoinedExc (tmp); |
780 | | #endif |
781 | |
|
782 | | #if defined (ENOTJOINED) |
783 | | case ENOTJOINED: |
784 | | throw EnotjoinedExc (tmp); |
785 | | #endif |
786 | |
|
787 | | #if defined (ENOPROC) |
788 | | case ENOPROC: |
789 | | throw EnoprocExc (tmp); |
790 | | #endif |
791 | |
|
792 | | #if defined (EMUSTRUN) |
793 | | case EMUSTRUN: |
794 | | throw EmustrunExc (tmp); |
795 | | #endif |
796 | |
|
797 | | #if defined (ENOTSTOPPED) |
798 | | case ENOTSTOPPED: |
799 | | throw EnotstoppedExc (tmp); |
800 | | #endif |
801 | |
|
802 | | #if defined (ECLOCKCPU) |
803 | | case ECLOCKCPU: |
804 | | throw EclockcpuExc (tmp); |
805 | | #endif |
806 | |
|
807 | | #if defined (EINVALSTATE) |
808 | | case EINVALSTATE: |
809 | | throw EinvalstateExc (tmp); |
810 | | #endif |
811 | |
|
812 | | #if defined (ENOEXIST) |
813 | | case ENOEXIST: |
814 | | throw EnoexistExc (tmp); |
815 | | #endif |
816 | |
|
817 | | #if defined (EENDOFMINOR) |
818 | | case EENDOFMINOR: |
819 | | throw EendofminorExc (tmp); |
820 | | #endif |
821 | |
|
822 | | #if defined (EBUFSIZE) |
823 | | case EBUFSIZE: |
824 | | throw EbufsizeExc (tmp); |
825 | | #endif |
826 | |
|
827 | | #if defined (EEMPTY) |
828 | | case EEMPTY: |
829 | | throw EemptyExc (tmp); |
830 | | #endif |
831 | |
|
832 | | #if defined (ENOINTRGROUP) |
833 | | case ENOINTRGROUP: |
834 | | throw EnointrgroupExc (tmp); |
835 | | #endif |
836 | |
|
837 | | #if defined (EINVALMODE) |
838 | | case EINVALMODE: |
839 | | throw EinvalmodeExc (tmp); |
840 | | #endif |
841 | |
|
842 | | #if defined (ECANTEXTENT) |
843 | | case ECANTEXTENT: |
844 | | throw EcantextentExc (tmp); |
845 | | #endif |
846 | |
|
847 | | #if defined (EINVALTIME) |
848 | | case EINVALTIME: |
849 | | throw EinvaltimeExc (tmp); |
850 | | #endif |
851 | |
|
852 | | #if defined (EDESTROYED) |
853 | | case EDESTROYED: |
854 | | throw EdestroyedExc (tmp); |
855 | | #endif |
856 | 0 | } |
857 | | |
858 | 0 | throw ErrnoExc (tmp); |
859 | 0 | } |
860 | | |
861 | | |
862 | | void throwErrnoExc (const std::string &text) |
863 | 0 | { |
864 | 0 | throwErrnoExc (text, errno); |
865 | 0 | } |
866 | | |
867 | | void throwErrnoExc() |
868 | 0 | { |
869 | 0 | std::string txt = "%T."; |
870 | 0 | throwErrnoExc (txt); |
871 | 0 | } |
872 | | |
873 | | IEX_INTERNAL_NAMESPACE_SOURCE_EXIT |