you can do exactly what you're doing in the code that tries to add the docs - without modifying the client....
the Apache_Solr_HttpTransportException is fed the full Apache_Solr_Response - so that you can retrieve it from the exception and do as you like.
https://github.com/PTCInc/solr-php-client/blob/master/Apache/Solr/HttpTransportException.php#L62
for example:
try {
// do some solr action, search, add, whatever
$solr->...(...);
} catch (Apache_Solr_HttpTransportException $hte) {
// get the response
$response = $hte->getResponse();
// this has status and message on it already
$response->getHttpStatus();
$response->getHttpStatusMessage();
// or you can get the raw response, like you did above if that's what you want
$rawResponse = $response->getRawResponse();
$error = json_decode($rawResponse, true);
}