It would be good to have the exception carry information about what it was that failed - there's a difference between an unrecognized format (maybe the server supports some that we don't recognize?) and an image with not enough data (corruption, weird pictures, who knows). Ideally, there'd be a separate exception type for each of the cases, subclassed from the IdentifyError.