Detect unsupported compression types.
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index 1cdfceb..ff7f30f 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -504,12 +504,29 @@
 
 
 def _get_decompressor(compress_type):
-    if compress_type == ZIP_DEFLATED:
+    if compress_type == ZIP_STORED:
+        return None
+    elif compress_type == ZIP_DEFLATED:
         return zlib.decompressobj(-15)
     elif compress_type == ZIP_BZIP2:
         return bz2.BZ2Decompressor()
     else:
-        return None
+        unknown_compressors = {
+            1: 'shrink',
+            2: 'reduce',
+            3: 'reduce',
+            4: 'reduce',
+            5: 'reduce',
+            6: 'implode',
+            9: 'enhanced deflate',
+            10: 'implode',
+            14: 'lzma',
+            }
+        descr = unknown_compressors.get(compress_type)
+        if descr:
+            raise NotImplementedError("compression type %d (%s)" % (compress_type, descr))
+        else:
+            raise NotImplementedError("compression type %d" % (compress_type,))
 
 
 class ZipExtFile(io.BufferedIOBase):