Convert some old-style string exceptions to class exceptions.
diff --git a/Lib/aifc.py b/Lib/aifc.py
index e00b23f..f709d88 100644
--- a/Lib/aifc.py
+++ b/Lib/aifc.py
@@ -137,7 +137,8 @@
 import struct
 import __builtin__
 
-Error = 'aifc.Error'
+class Error(Exception):
+    pass
 
 _AIFC_version = 0xA2805140      # Version 1 of AIFF-C
 
diff --git a/Lib/audiodev.py b/Lib/audiodev.py
index e7cff6c..9d4ddc2 100644
--- a/Lib/audiodev.py
+++ b/Lib/audiodev.py
@@ -1,6 +1,7 @@
 """Classes for manipulating audio devices (currently only for Sun and SGI)"""
 
-error = 'audiodev.error'
+class error(Exception):
+	pass
 
 class Play_Audio_sgi:
 	# Private instance variables
diff --git a/Lib/binhex.py b/Lib/binhex.py
index 275701d..0892203 100644
--- a/Lib/binhex.py
+++ b/Lib/binhex.py
@@ -27,7 +27,8 @@
 import string
 import binascii
     
-Error = 'binhex.Error'
+class Error(Exception):
+    pass
 
 # States (what have we written)
 [_DID_HEADER, _DID_DATA, _DID_RSRC] = range(3)
diff --git a/Lib/copy.py b/Lib/copy.py
index e4679de..100ea13 100644
--- a/Lib/copy.py
+++ b/Lib/copy.py
@@ -52,8 +52,9 @@
 
 import types
 
-error = 'copy.error'
-Error = error # backward compatibility
+class Error(Exception):
+	pass
+error = Error	# backward compatibility
 
 def copy(x):
 	"""Shallow copy operation on arbitrary Python objects.
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index 41c3b33..a15c412 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -56,16 +56,16 @@
 
 
 # Exception raised when an error or invalid response is received
-error_reply = 'ftplib.error_reply'	# unexpected [123]xx reply
-error_temp = 'ftplib.error_temp'	# 4xx errors
-error_perm = 'ftplib.error_perm'	# 5xx errors
-error_proto = 'ftplib.error_proto'	# response does not begin with [1-5]
+class Error(Exception): pass
+class error_reply(Error): pass		# unexpected [123]xx reply
+class error_temp(Error): pass		# 4xx errors
+class error_perm(Error): pass		# 5xx errors
+class error_proto(Error): pass		# response does not begin with [1-5]
 
 
 # All exceptions (hopefully) that may be raised here and that aren't
 # (always) programming errors on our side
-all_errors = (error_reply, error_temp, error_perm, error_proto, \
-	      socket.error, IOError, EOFError)
+all_errors = (Error, socket.error, IOError, EOFError)
 
 
 # Line terminators (we always output CRLF, but accept any of CRLF, CR, LF)
diff --git a/Lib/multifile.py b/Lib/multifile.py
index cc8f43c..e43d331 100644
--- a/Lib/multifile.py
+++ b/Lib/multifile.py
@@ -30,7 +30,8 @@
 import sys
 import string
 
-Error = 'multifile.Error'
+class Error(Exception):
+	pass
 
 class MultiFile: