1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program and library */
4 /* SCIP --- Solving Constraint Integer Programs */
5 /* */
6 /* Copyright (C) 2002-2021 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16 /**@file retcode.c
17 * @ingroup OTHER_CFILES
18 * @brief methods for return codes for SCIP methods
19 * @author Tobias Achterberg
20 */
21
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23
24 #include <stdio.h>
25
26 #include "scip/retcode.h"
27
28 /** prints error message for return code via message handler */
SCIPretcodePrint(SCIP_MESSAGEHDLR * messagehdlr,FILE * file,SCIP_RETCODE retcode)29 void SCIPretcodePrint(
30 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
31 FILE* file, /**< file stream to write error message */
32 SCIP_RETCODE retcode /**< SCIP return code causing the error */
33 )
34 {
35 switch( retcode )
36 {
37 case SCIP_OKAY:
38 SCIPmessageFPrintInfo(messagehdlr, file, "normal termination");
39 break;
40 case SCIP_ERROR:
41 SCIPmessageFPrintInfo(messagehdlr, file, "unspecified error");
42 break;
43 case SCIP_NOMEMORY:
44 SCIPmessageFPrintInfo(messagehdlr, file, "insufficient memory error");
45 break;
46 case SCIP_READERROR:
47 SCIPmessageFPrintInfo(messagehdlr, file, "read error");
48 break;
49 case SCIP_WRITEERROR:
50 SCIPmessageFPrintInfo(messagehdlr, file, "write error");
51 break;
52 case SCIP_NOFILE:
53 SCIPmessageFPrintInfo(messagehdlr, file, "file not found error");
54 break;
55 case SCIP_FILECREATEERROR:
56 SCIPmessageFPrintInfo(messagehdlr, file, "cannot create file");
57 break;
58 case SCIP_LPERROR:
59 SCIPmessageFPrintInfo(messagehdlr, file, "error in LP solver");
60 break;
61 case SCIP_NOPROBLEM:
62 SCIPmessageFPrintInfo(messagehdlr, file, "no problem exists");
63 break;
64 case SCIP_INVALIDCALL:
65 SCIPmessageFPrintInfo(messagehdlr, file, "method cannot be called at this time in solution process");
66 break;
67 case SCIP_INVALIDDATA:
68 SCIPmessageFPrintInfo(messagehdlr, file, "method cannot be called with this type of data");
69 break;
70 case SCIP_INVALIDRESULT:
71 SCIPmessageFPrintInfo(messagehdlr, file, "method returned an invalid result code");
72 break;
73 case SCIP_PLUGINNOTFOUND:
74 SCIPmessageFPrintInfo(messagehdlr, file, "a required plugin was not found");
75 break;
76 case SCIP_PARAMETERUNKNOWN:
77 SCIPmessageFPrintInfo(messagehdlr, file, "the parameter with the given name was not found");
78 break;
79 case SCIP_PARAMETERWRONGTYPE:
80 SCIPmessageFPrintInfo(messagehdlr, file, "the parameter is not of the expected type");
81 break;
82 case SCIP_PARAMETERWRONGVAL:
83 SCIPmessageFPrintInfo(messagehdlr, file, "the value is invalid for the given parameter");
84 break;
85 case SCIP_KEYALREADYEXISTING:
86 SCIPmessageFPrintInfo(messagehdlr, file, "the given key is already existing in table");
87 break;
88 case SCIP_MAXDEPTHLEVEL:
89 SCIPmessageFPrintInfo(messagehdlr, file, "maximal branching depth level exceeded");
90 break;
91 case SCIP_BRANCHERROR:
92 SCIPmessageFPrintInfo(messagehdlr, file, "branching could not be performed (e.g. too large values in variable domain)");
93 break;
94 case SCIP_NOTIMPLEMENTED:
95 SCIPmessageFPrintInfo(messagehdlr, file, "function not implemented");
96 break;
97 default:
98 SCIPmessageFPrintInfo(messagehdlr, file, "unknown error code");
99 break;
100 }
101 }
102
103 /** prints error message for return code via error message */
SCIPretcodePrintError(SCIP_RETCODE retcode)104 void SCIPretcodePrintError(
105 SCIP_RETCODE retcode /**< SCIP return code causing the error */
106 )
107 {
108 switch( retcode )
109 {
110 case SCIP_OKAY:
111 SCIPmessagePrintError("normal termination");
112 break;
113 case SCIP_ERROR:
114 SCIPmessagePrintError("unspecified error");
115 break;
116 case SCIP_NOMEMORY:
117 SCIPmessagePrintError("insufficient memory error");
118 break;
119 case SCIP_READERROR:
120 SCIPmessagePrintError("read error");
121 break;
122 case SCIP_WRITEERROR:
123 SCIPmessagePrintError("write error");
124 break;
125 case SCIP_NOFILE:
126 SCIPmessagePrintError("file not found error");
127 break;
128 case SCIP_FILECREATEERROR:
129 SCIPmessagePrintError("cannot create file");
130 break;
131 case SCIP_LPERROR:
132 SCIPmessagePrintError("error in LP solver");
133 break;
134 case SCIP_NOPROBLEM:
135 SCIPmessagePrintError("no problem exists");
136 break;
137 case SCIP_INVALIDCALL:
138 SCIPmessagePrintError("method cannot be called at this time in solution process");
139 break;
140 case SCIP_INVALIDDATA:
141 SCIPmessagePrintError("method cannot be called with this type of data");
142 break;
143 case SCIP_INVALIDRESULT:
144 SCIPmessagePrintError("method returned an invalid result code");
145 break;
146 case SCIP_PLUGINNOTFOUND:
147 SCIPmessagePrintError("a required plugin was not found");
148 break;
149 case SCIP_PARAMETERUNKNOWN:
150 SCIPmessagePrintError("the parameter with the given name was not found");
151 break;
152 case SCIP_PARAMETERWRONGTYPE:
153 SCIPmessagePrintError("the parameter is not of the expected type");
154 break;
155 case SCIP_PARAMETERWRONGVAL:
156 SCIPmessagePrintError("the value is invalid for the given parameter");
157 break;
158 case SCIP_KEYALREADYEXISTING:
159 SCIPmessagePrintError("the given key is already existing in table");
160 break;
161 case SCIP_MAXDEPTHLEVEL:
162 SCIPmessagePrintError("maximal branching depth level exceeded");
163 break;
164 case SCIP_BRANCHERROR:
165 SCIPmessagePrintError("branching could not be performed (e.g. too large values in variable domain)");
166 break;
167 case SCIP_NOTIMPLEMENTED:
168 SCIPmessagePrintError("function not implemented");
169 break;
170 default:
171 SCIPmessagePrintError("unknown error code");
172 break;
173 }
174 }
175