Joan Miller <[email protected]> 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
--
http://mail.python.org/mailman/listinfo/python-list