Thank you very much, it's perfect !

Thibaut

Le dimanche 5 janvier 2014 07:57:18 UTC+1, Guido van Rossum a écrit :
>
> create_connection() is documented as a coroutine. That means you 
> should be able to catch the error inside another coroutine using a 
> try/except: 
>
> @async.coroutine 
> def start_it(...): 
>     try: 
>         yield from asyncio.create_connection(...) 
>     except OSError: 
>         <handle error> 
>
> You can also convert it to a Future using asyncio.async() and add a 
> done-callback to check for and handle errors: 
>
> def error_handler(f): 
>     try: 
>         f.result() 
>     except OSError: 
>         <handle error> 
>
> f = asyncio.async(asyncio.create_connection(...)) 
> f.add_done_callback(error_handler) 
>
> Good luck! 
>
> On Sat, Jan 4, 2014 at 9:59 AM, Thibaut DIRLIK 
> <[email protected]<javascript:>> 
> wrote: 
> > Hello ! 
> > 
> > I'm using a simple asyncio.create_connection() call, put in the event 
> loop 
> > using asyncio.async. 
> > If the connection fails, I got an error message (from the logging) 
> module, 
> > but I can't catch it. 
> > 
> > There is no way to define an error callback and I can't use 
> > run_until_complete() because my 
> > event loop may already be running (and so it will raise an error). My 
> code 
> > have to know that 
> > the connection failed (for example to try connecting again in X secs). 
> How 
> > can I do ? 
> > 
> > Thanks, 
> > 
> > 
>
>
>
> -- 
> --Guido van Rossum (python.org/~guido) 
>

Reply via email to