>>> req = urllib2.Request('http://www.pretend_server.org')
>>> try: urllib2.urlopen(req)
- ... except URLError, e:
+ ... except URLError as e:
... print e.reason #doctest: +SKIP
...
(4, 'getaddrinfo failed')
>>> req = urllib2.Request('http://www.python.org/fish.html')
>>> try:
... urllib2.urlopen(req)
- ... except urllib2.HTTPError, e:
+ ... except urllib2.HTTPError as e:
... print e.code
... print e.read() #doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
...
req = Request(someurl)
try:
response = urlopen(req)
- except HTTPError, e:
+ except HTTPError as e:
print 'The server couldn\'t fulfill the request.'
print 'Error code: ', e.code
- except URLError, e:
+ except URLError as e:
print 'We failed to reach a server.'
print 'Reason: ', e.reason
else:
req = Request(someurl)
try:
response = urlopen(req)
- except URLError, e:
+ except URLError as e:
if hasattr(e, 'reason'):
print 'We failed to reach a server.'
print 'Reason: ', e.reason
try:
os.mkdir(opts.directory)
- except OSError, e:
+ except OSError as e:
# Ignore directory exists error
if e.errno != errno.EEXIST:
raise
if buffer.lstrip().upper().startswith("SELECT"):
print cur.fetchall()
- except sqlite3.Error, e:
+ except sqlite3.Error as e:
print "An error occurred:", e.args[0]
buffer = ""
try:
for row in reader:
print row
- except csv.Error, e:
+ except csv.Error as e:
sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e))
And while the module doesn't directly support parsing strings, it can easily be
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "ho:v", ["help", "output="])
- except getopt.GetoptError, err:
+ except getopt.GetoptError as err:
# print help information and exit:
print str(err) # will print something like "option -a not recognized"
usage()
else:
copy2(srcname, dstname)
# XXX What about devices, sockets etc.?
- except (IOError, os.error), why:
+ except (IOError, os.error) as why:
errors.append((srcname, dstname, str(why)))
# catch the Error from the recursive copytree so that we can
# continue with other files
- except Error, err:
+ except Error as err:
errors.extend(err.args[0])
try:
copystat(src, dst)
except WindowsError:
# can't copy file access times on Windows
pass
- except OSError, why:
+ except OSError as why:
errors.extend((src, dst, str(why)))
if errors:
raise Error(errors)
af, socktype, proto, canonname, sa = res
try:
s = socket.socket(af, socktype, proto)
- except socket.error, msg:
+ except socket.error as msg:
s = None
continue
try:
s.bind(sa)
s.listen(1)
- except socket.error, msg:
+ except socket.error as msg:
s.close()
s = None
continue
af, socktype, proto, canonname, sa = res
try:
s = socket.socket(af, socktype, proto)
- except socket.error, msg:
+ except socket.error as msg:
s = None
continue
try:
s.connect(sa)
- except socket.error, msg:
+ except socket.error as msg:
s.close()
s = None
continue
try:
s.do_handshake()
break
- except ssl.SSLError, err:
+ except ssl.SSLError as err:
if err.args[0] == ssl.SSL_ERROR_WANT_READ:
select.select([s], [], [])
elif err.args[0] == ssl.SSL_ERROR_WANT_WRITE:
p = xdrlib.Packer()
try:
p.pack_double(8.01)
- except xdrlib.ConversionError, instance:
+ except xdrlib.ConversionError as instance:
print 'packing the double failed:', instance.msg
-
proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
try:
proxy.add(2, 5)
- except xmlrpclib.Fault, err:
+ except xmlrpclib.Fault as err:
print "A fault occurred"
print "Fault code: %d" % err.faultCode
print "Fault string: %s" % err.faultString
try:
proxy.some_method()
- except xmlrpclib.ProtocolError, err:
+ except xmlrpclib.ProtocolError as err:
print "A protocol error occurred"
print "URL: %s" % err.url
print "HTTP/HTTPS headers: %s" % err.headers
try:
print server.examples.getStateName(41)
- except Error, v:
+ except Error as v:
print "ERROR", v
To access an XML-RPC server through a proxy, you need to define a custom