[pyar] Detectando llamadas con cantidad incorrectas de argumentos
Marcos Dione
mdione en grulic.org.ar
Vie Feb 27 19:38:43 ART 2015
On 02/27/2015 06:03 PM, Martín Gaitán wrote:
> try:
> f(*args, **kwargs)
> except TypeError as e:
> if e.message.startswith('f() takes exactly'):
> log(...)
> else:
> raise
Fijate en esto:
In [3]: def f (foo):
...: pass
In [4]: try:
f()
except TypeError as e:
print e
f() takes exactly 1 argument (0 given)
So far so good, pero:
In [5]: g= f
In [6]: try:
g()
except TypeError as e:
print e
...:
f() takes exactly 1 argument (0 given)
El nombre de función que sale en la excepción es el nombre con el
que declaraste la función, no con el que la llamaste, así que si f o g
son sacada de porái, no vas a poder hacer exactamente ese matching.
--
(Not so) Random fortune:
[...] perhaps we ought to stop calling ourselves software developers,
software architects, or software engineers, and start calling ourselves
software writers.
-- Mark Ramm-Christensen
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150227/ed9a3917/attachment.html>
More information about the pyar
mailing list