Raising an exception in the caller's frame
logistix
logistix at zworg.com
Fri Mar 21 15:16:49 EST 2003
More information about the Python-list mailing list
Fri Mar 21 15:16:49 EST 2003
- Previous message (by thread): Raising an exception in the caller's frame
- Next message (by thread): Raising an exception in the caller's frame
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Thomas Heller <theller at python.net> wrote in message news:<7kas50ex.fsf at python.net>... > Alex Martelli <aleax at aleax.it> writes: > > > Thomas Heller wrote: > > ... > > > Hopefully I can explain it: check_result() is not the 'cause' of the > > > error, it's purpose is simply to detect the error. The 'exception' > > > really occurrs in dosomething(). > > > > Yes, your purpose is very clear to me and I agree there _should_ > > be a way to achieve it, but I can't think of one. > > > > > > The best I came up with so far is to *return* an exception > instead of raising it, and do a typecheck in the caller: > > def check_result(value): > if somecondition(value): > return ValueError(value) # or whatever > return value > > def do_some_work(): > value = dosomething() > result = check_result(value) > if isinstance(result, Exception): > raise result > return result > > Thomas Aren't you just really trying to assert? def do_some_work(): value = dosomething() assert somecondition(value), "Failed somecondition test!" return value
- Previous message (by thread): Raising an exception in the caller's frame
- Next message (by thread): Raising an exception in the caller's frame
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list