A ValueError is used when a function receives a value that has the right type but an invalid value.
The given code can be rewritten as follows to handle the exception and find its type.
Example
import sys try: n = int('magnolia') except Exception as e: print e print sys.exc_type
Output
invalid literal for int() with base 10: 'magnolia' <type 'exceptions.ValueError'>