I realize that if a Web API Services call results in a HTTP status code 500 (5xx even, probably) it throws an exception.
I would like to actually receive the data from the request no matter if it's a 500 or whatever status code is returned. Sometimes you actually want to process and respond to the codes yourself. Sometimes even code 500 can be programmed to return something to parse.
Best way to provide backwards combability would be to add an option to a web service call to not throw an exception, if this option is turned on as default, nothing will break at an upgrade.