Skip to content

Commit 7fe5b51

Browse files
committed
Improve str(error) for LPExceptions.
1 parent bc47735 commit 7fe5b51

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

pylpsolve/pylpsolve.pyx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,17 @@ cdef struct _Constraint
171171
######################################################################
172172
# Exceptions
173173

174-
class LPException(Exception): pass
174+
class LPException(Exception):
175+
def __init__(self, message, code=None, *args):
176+
super(LPException, self).__init__(message, code, *args)
177+
self.message = message
178+
self.code = code
179+
180+
def __str__(self):
181+
if self.code is None:
182+
return self.message
183+
return 'Error {}: {}'.format(self.code, self.message)
184+
175185
class LPSuboptimalException(LPException): pass
176186
class LPInfeasibleException(LPException): pass
177187
class LPUnboundedException(LPException): pass
@@ -2559,7 +2569,7 @@ cdef class LP(object):
25592569
elif ret == 13:
25602570
# NOFEASFOUND (13) No feasible B&B solution found
25612571
raise LPInfeasibleException("No feasible B&B solution found", ret)
2562-
raise LPException("Error {}: Unknown error!".format(ret), ret)
2572+
raise LPException("Unknown error!", ret)
25632573

25642574
# And we're done
25652575

0 commit comments

Comments
 (0)