Necessary for py3, supported since py26.
2to3 -n -w -f except tornado
# something that tries to import __main__ (e.g. the unittest
# module) will see the right things.
exec f.read() in globals(), globals()
- except SystemExit, e:
+ except SystemExit as e:
logging.basicConfig()
gen_log.info("Script exited with status %s", e.code)
- except Exception, e:
+ except Exception as e:
logging.basicConfig()
gen_log.warning("Script exited with uncaught exception", exc_info=True)
# If an exception occurred at import time, the file with the error
future = Future()
try:
future.set_result(fn(*args, **kwargs))
- except Exception, e:
+ except Exception as e:
future.set_exception(e)
return future
while True:
try:
ret, num_handles = self._socket_action(fd, action)
- except pycurl.error, e:
+ except pycurl.error as e:
ret = e.args[0]
if ret != pycurl.E_CALL_MULTI_PERFORM:
break
try:
ret, num_handles = self._socket_action(
pycurl.SOCKET_TIMEOUT, 0)
- except pycurl.error, e:
+ except pycurl.error as e:
ret = e.args[0]
if ret != pycurl.E_CALL_MULTI_PERFORM:
break
while True:
try:
ret, num_handles = self._multi.socket_all()
- except pycurl.error, e:
+ except pycurl.error as e:
ret = e.args[0]
if ret != pycurl.E_CALL_MULTI_PERFORM:
break
follow_redirects=options.follow_redirects,
validate_cert=options.validate_cert,
)
- except HTTPError, e:
+ except HTTPError as e:
if e.response is not None:
response = e.response
else:
return
self.request_callback(self._request)
- except _BadRequestException, e:
+ except _BadRequestException as e:
gen_log.info("Malformed HTTP request from %s: %s",
self.address[0], e)
self.close()
socket.SOCK_STREAM,
0, socket.AI_NUMERICHOST)
return bool(res)
- except socket.gaierror, e:
+ except socket.gaierror as e:
if e.args[0] == socket.EAI_NONAME:
return False
raise
try:
event_pairs = self._impl.poll(poll_timeout)
- except Exception, e:
+ except Exception as e:
# Depending on python version and IOLoop implementation,
# different exception types may be thrown and there are
# two ways EINTR might be signaled:
fd, events = self._events.popitem()
try:
self._handlers[fd](fd, events)
- except (OSError, IOError), e:
+ except (OSError, IOError) as e:
if e.args[0] == errno.EPIPE:
# Happens when the client closes the connection
pass
"""
try:
chunk = self.read_from_fd()
- except (socket.error, IOError, OSError), e:
+ except (socket.error, IOError, OSError) as e:
# ssl.SSLError is a subclass of socket.error
if e.args[0] == errno.ECONNRESET:
# Treat ECONNRESET as a connection close rather than
self._write_buffer_frozen = False
_merge_prefix(self._write_buffer, num_bytes)
self._write_buffer.popleft()
- except socket.error, e:
+ except socket.error as e:
if e.args[0] in (errno.EWOULDBLOCK, errno.EAGAIN):
self._write_buffer_frozen = True
break
def read_from_fd(self):
try:
chunk = self.socket.recv(self.read_chunk_size)
- except socket.error, e:
+ except socket.error as e:
if e.args[0] in (errno.EWOULDBLOCK, errno.EAGAIN):
return None
else:
self._connecting = True
try:
self.socket.connect(address)
- except socket.error, e:
+ except socket.error as e:
# In non-blocking mode we expect connect() to raise an
# exception with EINPROGRESS or EWOULDBLOCK.
#
self._handshake_reading = False
self._handshake_writing = False
self.socket.do_handshake()
- except ssl.SSLError, err:
+ except ssl.SSLError as err:
if err.args[0] == ssl.SSL_ERROR_WANT_READ:
self._handshake_reading = True
return
self.socket.fileno(), peer, err)
return self.close(exc_info=True)
raise
- except socket.error, err:
+ except socket.error as err:
if err.args[0] in (errno.ECONNABORTED, errno.ECONNRESET):
return self.close(exc_info=True)
else:
# called when there is nothing to read, so we have to use
# read() instead.
chunk = self.socket.read(self.read_chunk_size)
- except ssl.SSLError, e:
+ except ssl.SSLError as e:
# SSLError is a subclass of socket.error, so this except
# block must come first.
if e.args[0] == ssl.SSL_ERROR_WANT_READ:
return None
else:
raise
- except socket.error, e:
+ except socket.error as e:
if e.args[0] in (errno.EWOULDBLOCK, errno.EAGAIN):
return None
else:
def read_from_fd(self):
try:
chunk = os.read(self.fd, self.read_chunk_size)
- except (IOError, OSError), e:
+ except (IOError, OSError) as e:
if e.args[0] in (errno.EWOULDBLOCK, errno.EAGAIN):
return None
elif e.args[0] == errno.EBADF:
os.stat(os.path.join(directory, lang, "LC_MESSAGES", domain + ".mo"))
_translations[lang] = gettext.translation(domain, directory,
languages=[lang])
- except Exception, e:
+ except Exception as e:
gen_log.error("Cannot load translation for '%s': %s", lang, str(e))
continue
_supported_locales = frozenset(_translations.keys() + [_default_locale])
def format(self, record):
try:
record.message = record.getMessage()
- except Exception, e:
+ except Exception as e:
record.message = "Bad message (%r): %r" % (e, record.__dict__)
assert isinstance(record.message, basestring) # guaranteed by logging
record.asctime = time.strftime(
server_side=True,
do_handshake_on_connect=False,
**self.ssl_options)
- except ssl.SSLError, err:
+ except ssl.SSLError as err:
if err.args[0] == ssl.SSL_ERROR_EOF:
return connection.close()
else:
raise
- except socket.error, err:
+ except socket.error as err:
if err.args[0] == errno.ECONNABORTED:
return connection.close()
else:
sock.setblocking(0)
try:
st = os.stat(file)
- except OSError, err:
+ except OSError as err:
if err.errno != errno.ENOENT:
raise
else:
while True:
try:
connection, address = sock.accept()
- except socket.error, e:
+ except socket.error as e:
if e.args[0] in (errno.EWOULDBLOCK, errno.EAGAIN):
return
raise
try:
self.writer.connect(connect_address)
break # success
- except socket.error, detail:
+ except socket.error as detail:
if (not hasattr(errno, 'WSAEADDRINUSE') or
detail[0] != errno.WSAEADDRINUSE):
# "Address already in use" is the only error
while children:
try:
pid, status = os.wait()
- except OSError, e:
+ except OSError as e:
if e.errno == errno.EINTR:
continue
raise
def _try_cleanup_process(cls, pid):
try:
ret_pid, status = os.waitpid(pid, os.WNOHANG)
- except OSError, e:
+ except OSError as e:
if e.args[0] == errno.ECHILD:
return
if ret_pid == 0:
self.stream.close()
try:
self.future.set_result(self.process_response(data))
- except CapError, e:
+ except CapError as e:
self.future.set_exception(e)
for i in range(1000):
try:
other_ioloop.add_callback(lambda: None)
- except RuntimeError, e:
+ except RuntimeError as e:
self.assertEqual("IOLoop is closing", str(e))
break
id = fork_processes(3, max_restarts=3)
self.assertTrue(id is not None)
signal.alarm(5) # child processes
- except SystemExit, e:
+ except SystemExit as e:
# if we exit cleanly from fork_processes, all the child processes
# finished with status 0
self.assertEqual(e.code, 0)
def fetch(url, fail_ok=False):
try:
return client.fetch(get_url(url))
- except HTTPError, e:
+ except HTTPError as e:
if not (fail_ok and e.code == 599):
raise
def test_ipv6(self):
try:
self.http_server.listen(self.get_http_port(), address='::1')
- except socket.gaierror, e:
+ except socket.gaierror as e:
if e.args[0] == socket.EAI_ADDRFAMILY:
# python supports ipv6, but it's not configured on the network
# interface, so skip this test.
try:
raise_exc_info(exc_info)
self.fail("didn't get expected exception")
- except TwoArgException, e:
+ except TwoArgException as e:
self.assertIs(e, exc_info[1])
class TestConfigurable(Configurable):
try:
self.set_header("X-Foo", "foo\r\nX-Bar: baz")
raise Exception("Didn't get expected exception")
- except ValueError, e:
+ except ValueError as e:
if "Unsafe header value" in str(e):
self.finish(b("ok"))
else:
unittest.main(module=None, argv=argv, **kwargs)
else:
unittest.main(defaultTest="all", argv=argv, **kwargs)
- except SystemExit, e:
+ except SystemExit as e:
if e.code == 0:
gen_log.info('PASS')
else:
def wrapper(*args, **kwargs):
try:
return callback(*args, **kwargs)
- except Exception, e:
+ except Exception as e:
if self._headers_written:
app_log.error("Exception after headers written",
exc_info=True)
*self.path_args, **self.path_kwargs)
if self._auto_finish and not self._finished:
self.finish()
- except Exception, e:
+ except Exception as e:
self._handle_request_exception(e)
def _generate_headers(self):