In fact applications will get the exception, trust me I tested it :) On the next iteration, the Future.__iter__ generator will try to return the future result but instead will throw an exception. I tested it with this following code:
```
import asyncio

import aiohttp
import aiohttp.wsgi

class FooError(Exception):
    pass

class WSGIServerHttpFactory:

    def __init__(self, app):
        self._app = app

    def __call__(self):
        return aiohttp.wsgi.WSGIServerHttpProtocol(self._app)

@asyncio.coroutine
def foo(loop=None):
    loop = loop or asyncio.get_event_loop()
    fut = asyncio.Future(loop=loop)
    loop.call_soon(fut.set_exception, FooError)
    return fut

@asyncio.coroutine
def app(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html; charset=UTF-8')])
    try:
        yield from foo()
    except FooError:
        print('foo error')

loop = asyncio.get_event_loop()
t = loop.create_server(WSGIServerHttpFactory(app3), '127.0.0.1', 8080)
loop.run_until_complete(t)
loop.run_forever()
```