Calling to static methods for unknown classes doesn't trigger an exception catch in __autoload
<p>For some reason, exceptions thrown in an <code>__autoload</code> function aren't being caught when trying to call a static method on a class that doesn't exist yet (PHP 5.3.9).</p>

<p>See this sample code: </p>

<pre><code>&lt;?php
function __autoload($class)
{
    throw new Exception('loaded ' . $class . "\n");
}


try {
    echo "Object: ";
    $test = new Log();
}
catch (Exception $e)
{
    error_log($e-&gt;getMessage());
}

// Exception is caught with static var.
try {
    echo "Static var: ";
    Log::$blah;
}
catch (Exception $e)
{
    error_log($e-&gt;getMessage());
}

// Fatal error occures with static method.
try {
    echo "Static method: ";
    Log::blah();
}
catch (Exception $e)
{
    error_log($e-&gt;getMessage());
}
</code></pre>

<p>The exception is caught on the first 2 cases (new object and a static property of an unknown class), but is not caught on calling the static method.</p>
