added PicklingError exception
diff --git a/Lib/pickle.py b/Lib/pickle.py
index 7984b98..44447d4 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -126,11 +126,13 @@
 """
 
 __format_version__ = "1.0"		# File format version
-__version__ = "1.2"			# Code version
+__version__ = "1.4"			# Code version
 
 from types import *
 import string
 
+PicklingError = "pickle.PicklingError"
+
 AtomicTypes = [NoneType, IntType, FloatType, StringType]
 
 def safe(object):
@@ -191,7 +193,12 @@
 			self.write(GET + `d` + '\n')
 			return
 		t = type(object)
-		self.dispatch[t](self, object)
+		try:
+			f = self.dispatch[t]
+		except KeyError:
+			raise PicklingError, \
+			      "can't pickle %s objects" % `t.__name__`
+		f(self, object)
 
 	def persistent_id(self, object):
 		return None