Remove all bare strings as exceptions.
diff --git a/conformance/conformance_python.py b/conformance/conformance_python.py
index 32aa225..a490c8e 100755
--- a/conformance/conformance_python.py
+++ b/conformance/conformance_python.py
@@ -48,6 +48,9 @@
 test_count = 0
 verbose = False
 
+class ProtocolError(Exception):
+  pass
+
 def do_test(request):
   test_message = conformance_pb2.TestAllTypes()
   response = conformance_pb2.ConformanceResponse()
@@ -69,10 +72,10 @@
         return response
 
     else:
-      raise "Request didn't have payload."
+      raise ProtocolError("Request didn't have payload.")
 
     if request.requested_output_format == conformance_pb2.UNSPECIFIED:
-      raise "Unspecified output format"
+      raise ProtocolError("Unspecified output format")
 
     elif request.requested_output_format == conformance_pb2.PROTOBUF:
       response.protobuf_payload = test_message.SerializeToString()
@@ -98,7 +101,7 @@
   length = struct.unpack("<I", length_bytes)[0]
   serialized_request = sys.stdin.read(length)
   if len(serialized_request) != length:
-    raise "I/O error"
+    raise IOError("I/O error")
 
   request = conformance_pb2.ConformanceRequest()
   request.ParseFromString(serialized_request)