Scippy

SCIP

Solving Constraint Integer Programs

retcode.c
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and library */
4/* SCIP --- Solving Constraint Integer Programs */
5/* */
6/* Copyright (c) 2002-2024 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file retcode.c
26 * @ingroup OTHER_CFILES
27 * @brief methods for return codes for SCIP methods
28 * @author Tobias Achterberg
29 */
30
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
32
33#include <stdio.h>
34
35#include "scip/retcode.h"
36
37/** prints error message for return code via message handler */
39 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
40 FILE* file, /**< file stream to write error message */
41 SCIP_RETCODE retcode /**< SCIP return code causing the error */
42 )
43{
44 switch( retcode )
45 {
46 case SCIP_OKAY:
47 SCIPmessageFPrintInfo(messagehdlr, file, "normal termination");
48 break;
49 case SCIP_ERROR:
50 SCIPmessageFPrintInfo(messagehdlr, file, "unspecified error");
51 break;
52 case SCIP_NOMEMORY:
53 SCIPmessageFPrintInfo(messagehdlr, file, "insufficient memory error");
54 break;
55 case SCIP_READERROR:
56 SCIPmessageFPrintInfo(messagehdlr, file, "read error");
57 break;
58 case SCIP_WRITEERROR:
59 SCIPmessageFPrintInfo(messagehdlr, file, "write error");
60 break;
61 case SCIP_NOFILE:
62 SCIPmessageFPrintInfo(messagehdlr, file, "file not found error");
63 break;
65 SCIPmessageFPrintInfo(messagehdlr, file, "cannot create file");
66 break;
67 case SCIP_LPERROR:
68 SCIPmessageFPrintInfo(messagehdlr, file, "error in LP solver");
69 break;
70 case SCIP_NOPROBLEM:
71 SCIPmessageFPrintInfo(messagehdlr, file, "no problem exists");
72 break;
74 SCIPmessageFPrintInfo(messagehdlr, file, "method cannot be called at this time in solution process");
75 break;
77 SCIPmessageFPrintInfo(messagehdlr, file, "method cannot be called with this type of data");
78 break;
80 SCIPmessageFPrintInfo(messagehdlr, file, "method returned an invalid result code");
81 break;
83 SCIPmessageFPrintInfo(messagehdlr, file, "a required plugin was not found");
84 break;
86 SCIPmessageFPrintInfo(messagehdlr, file, "the parameter with the given name was not found");
87 break;
89 SCIPmessageFPrintInfo(messagehdlr, file, "the parameter is not of the expected type");
90 break;
92 SCIPmessageFPrintInfo(messagehdlr, file, "the value is invalid for the given parameter");
93 break;
95 SCIPmessageFPrintInfo(messagehdlr, file, "the given key is already existing in table");
96 break;
98 SCIPmessageFPrintInfo(messagehdlr, file, "maximal branching depth level exceeded");
99 break;
100 case SCIP_BRANCHERROR:
101 SCIPmessageFPrintInfo(messagehdlr, file, "branching could not be performed (e.g. too large values in variable domain)");
102 break;
104 SCIPmessageFPrintInfo(messagehdlr, file, "function not implemented");
105 break;
106 default:
107 SCIPmessageFPrintInfo(messagehdlr, file, "unknown error code");
108 break;
109 }
110}
111
112/** prints error message for return code via error message */
114 SCIP_RETCODE retcode /**< SCIP return code causing the error */
115 )
116{
117 switch( retcode )
118 {
119 case SCIP_OKAY:
120 SCIPmessagePrintError("normal termination");
121 break;
122 case SCIP_ERROR:
123 SCIPmessagePrintError("unspecified error");
124 break;
125 case SCIP_NOMEMORY:
126 SCIPmessagePrintError("insufficient memory error");
127 break;
128 case SCIP_READERROR:
129 SCIPmessagePrintError("read error");
130 break;
131 case SCIP_WRITEERROR:
132 SCIPmessagePrintError("write error");
133 break;
134 case SCIP_NOFILE:
135 SCIPmessagePrintError("file not found error");
136 break;
138 SCIPmessagePrintError("cannot create file");
139 break;
140 case SCIP_LPERROR:
141 SCIPmessagePrintError("error in LP solver");
142 break;
143 case SCIP_NOPROBLEM:
144 SCIPmessagePrintError("no problem exists");
145 break;
146 case SCIP_INVALIDCALL:
147 SCIPmessagePrintError("method cannot be called at this time in solution process");
148 break;
149 case SCIP_INVALIDDATA:
150 SCIPmessagePrintError("method cannot be called with this type of data");
151 break;
153 SCIPmessagePrintError("method returned an invalid result code");
154 break;
156 SCIPmessagePrintError("a required plugin was not found");
157 break;
159 SCIPmessagePrintError("the parameter with the given name was not found");
160 break;
162 SCIPmessagePrintError("the parameter is not of the expected type");
163 break;
165 SCIPmessagePrintError("the value is invalid for the given parameter");
166 break;
168 SCIPmessagePrintError("the given key is already existing in table");
169 break;
171 SCIPmessagePrintError("maximal branching depth level exceeded");
172 break;
173 case SCIP_BRANCHERROR:
174 SCIPmessagePrintError("branching could not be performed (e.g. too large values in variable domain)");
175 break;
177 SCIPmessagePrintError("function not implemented");
178 break;
179 default:
180 SCIPmessagePrintError("unknown error code");
181 break;
182 }
183}
void SCIPmessagePrintError(const char *formatstr,...)
Definition: message.c:791
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
Definition: message.c:618
void SCIPretcodePrint(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, SCIP_RETCODE retcode)
Definition: retcode.c:38
void SCIPretcodePrintError(SCIP_RETCODE retcode)
Definition: retcode.c:113
internal methods for return codes for SCIP methods
@ SCIP_FILECREATEERROR
Definition: type_retcode.h:48
@ SCIP_LPERROR
Definition: type_retcode.h:49
@ SCIP_BRANCHERROR
Definition: type_retcode.h:60
@ SCIP_INVALIDRESULT
Definition: type_retcode.h:53
@ SCIP_NOFILE
Definition: type_retcode.h:47
@ SCIP_READERROR
Definition: type_retcode.h:45
@ SCIP_INVALIDDATA
Definition: type_retcode.h:52
@ SCIP_PLUGINNOTFOUND
Definition: type_retcode.h:54
@ SCIP_PARAMETERUNKNOWN
Definition: type_retcode.h:55
@ SCIP_WRITEERROR
Definition: type_retcode.h:46
@ SCIP_PARAMETERWRONGVAL
Definition: type_retcode.h:57
@ SCIP_PARAMETERWRONGTYPE
Definition: type_retcode.h:56
@ SCIP_KEYALREADYEXISTING
Definition: type_retcode.h:58
@ SCIP_NOMEMORY
Definition: type_retcode.h:44
@ SCIP_NOPROBLEM
Definition: type_retcode.h:50
@ SCIP_OKAY
Definition: type_retcode.h:42
@ SCIP_INVALIDCALL
Definition: type_retcode.h:51
@ SCIP_ERROR
Definition: type_retcode.h:43
@ SCIP_NOTIMPLEMENTED
Definition: type_retcode.h:61
@ SCIP_MAXDEPTHLEVEL
Definition: type_retcode.h:59
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63