No return to the parent function
Joan Miller
peloko45 at gmail.com
Tue Feb 2 12:00:45 EST 2010
On 2 feb, 16:55, Arnaud Delobelle <arno... at googlemail.com> wrote:
> Joan Miller <pelok... 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
Yes, that is it. It was more simple that I had thinked, thanks!
More information about the Python-list
mailing list