No return to the parent function
Arnaud Delobelle
arnodel at googlemail.com
Tue Feb 2 11:55:58 EST 2010
Joan Miller <peloko45 at gmail.com> writes:
> I've a main function called i.e. *foo()* which has a block of code
> that is repetead several times (for the error catching code and error
> reporting), but that code has a return to exit of *foo()*
>
> -----------
> foo():
> ...
> if self.background:
> _log.exception(str(error))
> return ReturnCode.ERROR, None
> else:
> raise NameError(error)
>
> -----------
>
> So I would tu put that code block into a separated function (*throw()
> *), but the problem is that it returns to the parent function (foo()).
> How to solve it?
If I understand correctly, you can simply do this:
def throw(...):
if ...:
...
return ...
else:
raise ...
def foo():
...
return throw(...)
HTH
I.e. if throw returns something, foo returns it as well. If throw
raises an exception, it will go through foo. Is this what you want?
--
Arnaud
More information about the Python-list
mailing list