summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-07-17 23:03:51 +0200
committeremkael <emkael@tlen.pl>2019-07-17 23:03:51 +0200
commit71c8c49824938382aadcac62a1df7695b52184cc (patch)
tree40533a7e235005a721b9247f170cc23df7ce6fc3
parent09189cd1a9cb319fcabefbb677c5f06d038f726c (diff)
Better error handling
-rw-r--r--bcdd/DDTable.py2
-rw-r--r--pybcdd.py2
-rw-r--r--test/faulty.pbn5
3 files changed, 7 insertions, 2 deletions
diff --git a/bcdd/DDTable.py b/bcdd/DDTable.py
index cc08424..c4fc030 100644
--- a/bcdd/DDTable.py
+++ b/bcdd/DDTable.py
@@ -47,7 +47,7 @@ class DDTable(object):
error = self._wrapper.getLastError(solver)
if error:
raise DDTableInvalidException(
- 'BCalc error: ' + str(c_char_p(error)))
+ 'BCalc error: %s' % (c_char_p(error).value.decode('ascii')))
self._wrapper.delete(solver);
return self._validate_table(result)
diff --git a/pybcdd.py b/pybcdd.py
index 9925f8a..277d793 100644
--- a/pybcdd.py
+++ b/pybcdd.py
@@ -50,7 +50,7 @@ def main():
except Exception as ex:
errors.append('[%s:%s] %s' % (filename, board_no, str(ex)))
print('ERROR: ' + str(ex))
- raise
+ pbn_file.write_board(board)
pbn_file.save()
except DllNotFoundException as ex:
errors.append("libbcalcdds library could not be loaded - make sure it's present in application directory!");
diff --git a/test/faulty.pbn b/test/faulty.pbn
index c0d508c..d0d0f90 100644
--- a/test/faulty.pbn
+++ b/test/faulty.pbn
@@ -9,3 +9,8 @@
[Dealer "E"]
[Vulnerable "NS"]
[Deal "N:JT74..QJ2.832 62.52.876543.AQJ 9853.Q743.9.KT65 AKQ.KT86.AKT.974"]
+
+[Board "3"]
+[Dealer "N"]
+[Vulnerable "None"]
+[Deal "N:AJ9643.K98.62.83 QT5.JT7.AT74.AK5 87.AQ53.98.Q9742 K2.642.KQJ53.JT6"]