Who needs exceptions (was Re: Two languages, too similar, competing in the same space.)

Gerson Kurz gerson.kurz at t-online.de
Sat Dec 29 11:16:03 EST 2001


On Sat, 29 Dec 2001 19:56:48 +0300, Oleg Broytmann <phd at phd.pp.ru>
wrote:
>   Ok, let me call you oldfashioned. Errno chcecking is good in local
>context:
>
>   file = open(...)
>   if not file: report_error()
>
>But is not so easy to pass errno to upper context. To explain what I mean
>I am writing a pice of code using exceptions:
>
>def top():
>   try:
>      upper()
>   except IOError:
>      report_error()
>
>def upper():
>   data4 = lower()
>   process(data4)
>
>def lower():
>   file = open(...)
>   retunr file.read(4)
>
>Now please rewrite the code without exceptions, using errno checking.

def top():
    if not upper():
        return report_error("upper failed()")

def upper():
    data = lower()
    if data:
        process(data)
        return 1

def lower():
    file = open(...)
    if file:
        return file.read()
    report_error("lower failed()")

So ? After all, C doesn't need it, and I think few C programmers would
call this feature the "most missing", or? 





More information about the Python-list mailing list