diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 58e0153..2aa90d7 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -1240,7 +1240,7 @@
         import mimetypes
         host = req.get_host()
         if not host:
-            raise IOError('ftp error', 'no host given')
+            raise URLError('ftp error', 'no host given')
         host, port = splitport(host)
         if port is None:
             port = ftplib.FTP_PORT
@@ -1286,7 +1286,7 @@
             headers = mimetools.Message(sf)
             return addinfourl(fp, headers, req.get_full_url())
         except ftplib.all_errors as msg:
-            raise IOError('ftp error', msg).with_traceback(sys.exc_info()[2])
+            raise URLError('ftp error', msg).with_traceback(sys.exc_info()[2])
 
     def connect_ftp(self, user, passwd, host, port, dirs, timeout):
         fw = ftpwrapper(user, passwd, host, port, dirs, timeout)
