Mercurial > hg > orthanc
annotate Core/OrthancException.cpp @ 819:992be7e1736a Orthanc-0.7.5
set version
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 08 May 2014 17:03:22 +0200 |
parents | 37adac56017a |
children | a811bdf8b8eb |
rev | line source |
---|---|
0 | 1 /** |
59 | 2 * Orthanc - A Lightweight, RESTful DICOM Store |
689 | 3 * Copyright (C) 2012-2014 Medical Physics Department, CHU of Liege, |
0 | 4 * Belgium |
5 * | |
6 * This program is free software: you can redistribute it and/or | |
7 * modify it under the terms of the GNU General Public License as | |
8 * published by the Free Software Foundation, either version 3 of the | |
9 * License, or (at your option) any later version. | |
136 | 10 * |
11 * In addition, as a special exception, the copyright holders of this | |
12 * program give permission to link the code of its release with the | |
13 * OpenSSL project's "OpenSSL" library (or with modified versions of it | |
14 * that use the same license as the "OpenSSL" library), and distribute | |
15 * the linked executables. You must obey the GNU General Public License | |
16 * in all respects for all of the code used other than "OpenSSL". If you | |
17 * modify file(s) with this exception, you may extend this exception to | |
18 * your version of the file(s), but you are not obligated to do so. If | |
19 * you do not wish to do so, delete this exception statement from your | |
20 * version. If you delete this exception statement from all source files | |
21 * in the program, then also delete it here. | |
0 | 22 * |
23 * This program is distributed in the hope that it will be useful, but | |
24 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
26 * General Public License for more details. | |
27 * | |
28 * You should have received a copy of the GNU General Public License | |
29 * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
30 **/ | |
31 | |
32 | |
59 | 33 #include "OrthancException.h" |
0 | 34 |
59 | 35 namespace Orthanc |
0 | 36 { |
59 | 37 const char* OrthancException::What() const |
0 | 38 { |
39 if (error_ == ErrorCode_Custom) | |
40 { | |
41 return custom_.c_str(); | |
42 } | |
43 else | |
44 { | |
45 return GetDescription(error_); | |
46 } | |
47 } | |
48 | |
49 | |
59 | 50 const char* OrthancException::GetDescription(ErrorCode error) |
0 | 51 { |
52 switch (error) | |
53 { | |
252 | 54 case ErrorCode_Success: |
55 return "Success"; | |
0 | 56 |
252 | 57 case ErrorCode_ParameterOutOfRange: |
58 return "Parameter out of range"; | |
0 | 59 |
252 | 60 case ErrorCode_NotImplemented: |
61 return "Not implemented yet"; | |
0 | 62 |
252 | 63 case ErrorCode_InternalError: |
64 return "Internal error"; | |
0 | 65 |
252 | 66 case ErrorCode_NotEnoughMemory: |
67 return "Not enough memory"; | |
0 | 68 |
252 | 69 case ErrorCode_UriSyntax: |
70 return "Badly formatted URI"; | |
0 | 71 |
252 | 72 case ErrorCode_BadParameterType: |
73 return "Bad type for a parameter"; | |
0 | 74 |
252 | 75 case ErrorCode_InexistentFile: |
76 return "Inexistent file"; | |
77 | |
78 case ErrorCode_BadFileFormat: | |
79 return "Bad file format"; | |
0 | 80 |
252 | 81 case ErrorCode_CannotWriteFile: |
82 return "Cannot write to file"; | |
0 | 83 |
252 | 84 case ErrorCode_Timeout: |
85 return "Timeout"; | |
0 | 86 |
252 | 87 case ErrorCode_UnknownResource: |
88 return "Unknown resource"; | |
140 | 89 |
252 | 90 case ErrorCode_BadSequenceOfCalls: |
91 return "Bad sequence of calls"; | |
198
663cc6c46d0a
before refactoring of ServerIndex::GetXXX
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
140
diff
changeset
|
92 |
252 | 93 case ErrorCode_IncompatibleDatabaseVersion: |
94 return "Incompatible version of the database"; | |
211 | 95 |
268
4bc02e2254ec
preparing ServerIndex for recycling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
252
diff
changeset
|
96 case ErrorCode_FullStorage: |
4bc02e2254ec
preparing ServerIndex for recycling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
252
diff
changeset
|
97 return "The file storage is full"; |
4bc02e2254ec
preparing ServerIndex for recycling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
252
diff
changeset
|
98 |
282 | 99 case ErrorCode_InexistentItem: |
100 return "Accessing an inexistent item"; | |
101 | |
304 | 102 case ErrorCode_BadRequest: |
103 return "Bad request"; | |
104 | |
459 | 105 case ErrorCode_NetworkProtocol: |
106 return "Error in the network protocol"; | |
107 | |
693
01d8611c4a60
md5 for attached files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
689
diff
changeset
|
108 case ErrorCode_CorruptedFile: |
01d8611c4a60
md5 for attached files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
689
diff
changeset
|
109 return "Corrupted file (inconsistent MD5 hash)"; |
01d8611c4a60
md5 for attached files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
689
diff
changeset
|
110 |
730
309e686b41e7
better logging about nonexistent tags
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
693
diff
changeset
|
111 case ErrorCode_InexistentTag: |
309e686b41e7
better logging about nonexistent tags
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
693
diff
changeset
|
112 return "Inexistent tag"; |
309e686b41e7
better logging about nonexistent tags
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
693
diff
changeset
|
113 |
797
37adac56017a
ImageAccessor abstraction
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
730
diff
changeset
|
114 case ErrorCode_ReadOnly: |
37adac56017a
ImageAccessor abstraction
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
730
diff
changeset
|
115 return "Cannot modify a read-only data structure"; |
37adac56017a
ImageAccessor abstraction
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
730
diff
changeset
|
116 |
252 | 117 case ErrorCode_Custom: |
118 default: | |
119 return "???"; | |
0 | 120 } |
121 } | |
122 } |