title: check multiple exceptions in python
body: <p>Lets say I have:</p>
  
  <pre><code> string = """{'prop1': 'foo' , 'prop2': [1,2,3], 'prop3': [12,3]} """
  
    def _validate_schema(blob):
      schema = {'prop1': str, 'prop2': list, 'prop3': list}
      if blob.keys() in schema.keys():
        for k, v in blob.iteritems():
          if isinstance(v, schema[k]):
            continue
      raise ValueError("Bad schema: \
                        Expected: %s, \
                        Got: %s  \
                       " % (schema, blob))
  
  
     # Usage
     try:
        jsn = json.loads(string)
        _validate_schema(jsn)
     except ValueError:
       raise ValueError(' bad json format')
  </code></pre>
  
  <p>So basically, I want to raise appropriate ValueError.. but.. right now.. whatever is causing the issue i see 'bad json format' as exception..
  And I dont want to have multiple try clauses??
  is there a way to throw relevant string in same try clause.. ?</p>