>
> How i can use?
>
> def mycaller(f):
>     try: return f()
>     except *(HTTP...)* : return f() 
>     else: raise(HTTP(400))
>

How about:

def mycaller(f):
    try:
        return f()
    except HTTP:
        return f()
    except:
        raise HTTP(400)

Anyway, what exactly are you trying to do? Do you want to send a 400 
response regardless of the type of error generated by the function (note, 
that will only work for code in the function itself, not code in the models 
or view)? I'm not sure it's a good idea to play with response._caller -- 
that's not part of the framework API and could therefore change in the 
future.

Another option is to use the routes_onerror functionality to always serve 
the same static error page, regardless of error type, or to direct all 
errors to a special error handling function, which can always issue a 400 
error. See http://web2py.com/books/default/chapter/29/4#Routes-on-error.

Anthony

Reply via email to