Q:

Why can't I catch the ServiceException on the Azure PHP sdk? 

I'm trying to find out whether a blob exists or not.  When the blob does not exist, my try-catch with Azure's ServiceException isn't being caught at all.  I tried following the steps from here. 
public function checkBlobExists($path) {

    $container = config('azure.storage.container');
    $blobClient = ServicesBuilder::getInstance()->createBlobService(config('azure.storage.connection_string'));

    try {

        $blob = $blobClient->getBlob($container, $path); 
        return true;

    } catch (ServiceException $e) {
        return false;
    }

    return false;
}

This is some of the error stack:
ServiceException in ServiceRestProxy.php line 491:
Fail:
Code: 404
Value: The specified blob does not exist. 
details (if any): . 
in ServiceRestProxy.php line 491
at ServiceRestProxy::throwIfError(object(Response), array('200', '206')) in ServiceRestProxy.php line 409
at ServiceRestProxy->MicrosoftAzure\Storage\Common\Internal\{closure}(object(ClientException)) in Promise.php line 203

A:

You may not be using the fully qualified exception class name.  Try:
//...
} catch (\MicrosoftAzure\Storage\Common\Exceptions\ServiceException $e) {
//...
}

