[pypy-commit] lang-scheme default: Improve error message of WrongArgsNumber: Add actual and expected values
boemmels
noreply at buildbot.pypy.org
Fri Feb 17 23:54:43 CET 2012
Author: Juergen Boemmels <boemmels at web.de>
Branch:
Changeset: r40:dc37076bac9a
Date: 2012-02-17 23:54 +0100
http://bitbucket.org/pypy/lang-scheme/changeset/dc37076bac9a/
Log: Improve error message of WrongArgsNumber: Add actual and expected
values
diff --git a/scheme/object.py b/scheme/object.py
--- a/scheme/object.py
+++ b/scheme/object.py
@@ -13,7 +13,11 @@
class WrongArgsNumber(SchemeException):
def __str__(self):
- return "Wrong number of args"
+ if len(self.args) == 2:
+ return ("Wrong number of args. Got: %d, expected: %s" %
+ (self.args[0], self.args[1]))
+ else:
+ return "Wrong number of args."
class WrongArgType(SchemeException):
def __str__(self):
diff --git a/scheme/procedure.py b/scheme/procedure.py
--- a/scheme/procedure.py
+++ b/scheme/procedure.py
@@ -12,7 +12,7 @@
def procedure(self, ctx, lst):
if len(lst) == 0:
if self.default_result is None:
- raise WrongArgsNumber()
+ raise WrongArgsNumber(len(lst), ">1")
return self.default_result
@@ -155,7 +155,7 @@
def procedure(self, ctx, lst):
if len(lst) != 2:
- raise WrongArgsNumber()
+ raise WrongArgsNumber(len(lst), 2)
w_car = lst[0]
w_cdr = lst[1]
@@ -183,7 +183,7 @@
class CarCdrCombination(W_Procedure):
def procedure(self, ctx, lst):
if len(lst) != 1:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 1)
w_pair = lst[0]
return self.do_oper(w_pair)
@@ -352,8 +352,8 @@
def procedure_tr(self, ctx, lst):
if len(lst) != 2:
- raise WrongArgsNumber
-
+ raise WrongArgsNumber(len(lst), 2)
+
(w_procedure, w_lst) = lst
if not isinstance(w_procedure, W_Procedure):
#print w_procedure.to_repr(), "is not a procedure"
@@ -376,7 +376,7 @@
def procedure(self, ctx, lst):
if len(lst) != 1:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 1)
w_promise = lst[0]
if not isinstance(w_promise, W_Promise):
@@ -389,7 +389,7 @@
def procedure(self, ctx, lst):
if len(lst) != 1:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 1)
w_inlist = lst[0]
w_outlist = w_nil
while w_inlist is not w_nil:
@@ -405,7 +405,7 @@
def procedure_tr(self, ctx, lst):
if len(lst) < 2:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), ">2")
w_proc = lst[0]
if not isinstance(w_proc, W_Procedure):
@@ -452,7 +452,7 @@
def procedure(self, ctx, lst):
if len(lst) < 1 or len(lst) > 2:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), "1-2")
w_number = lst[0]
if not isinstance(w_number, W_Integer):
@@ -473,7 +473,7 @@
class AssocX(W_Procedure):
def procedure(self, ctx, lst):
if len(lst) != 2:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 2)
(w_obj, w_alst) = lst
@@ -522,7 +522,7 @@
class MemX(W_Procedure):
def procedure(self, ctx, lst):
if len(lst) != 2:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 2)
(w_obj, w_lst) = lst
@@ -565,7 +565,7 @@
class EquivalnecePredicate(W_Procedure):
def procedure(self, ctx, lst):
if len(lst) != 2:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 2)
(a, b) = lst
return W_Boolean(self.predicate(a, b))
@@ -596,7 +596,7 @@
class PredicateNumber(W_Procedure):
def procedure(self, ctx, lst):
if len(lst) != 1:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 1)
w_obj = lst[0]
if not isinstance(w_obj, W_Number):
@@ -614,7 +614,7 @@
def procedure(self, ctx, lst):
if len(lst) != 1:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 1)
w_obj = lst[0]
if not isinstance(w_obj, W_Number):
@@ -688,7 +688,7 @@
class TypePredicate(W_Procedure):
def procedure(self, ctx, lst):
if len(lst) != 1:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 1)
return W_Boolean(self.predicate(lst[0]))
@@ -748,7 +748,7 @@
def procedure(self, ctx, lst):
if len(lst) != 1:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 1)
w_bool = lst[0]
if w_bool.to_boolean():
@@ -770,7 +770,7 @@
(obj, port) = lst
raise NotImplementedError
else:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), "1-2")
print obj.to_string(),
return w_undefined
@@ -780,7 +780,7 @@
def procedure(self, ctx, lst):
if len(lst) != 0:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), 0)
print
return w_undefined
@@ -795,7 +795,7 @@
(obj, port) = lst
raise NotImplementedError
else:
- raise WrongArgsNumber
+ raise WrongArgsNumber(len(lst), "1-2")
print obj.to_repr(),
return w_undefined
More information about the pypy-commit
mailing list