Edit report at http://bugs.php.net/bug.php?id=52412&edit=1

 ID:                 52412
 Comment by:         php dot net at phrozenbyte dot de
 Reported by:        madboyka at yahoo dot com
 Summary:            __autoload fails to throw exception when calling a
                     static method on the class
 Status:             Open
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   Windows
 PHP Version:        5.3.3
 Block user comment: N

 New Comment:

Same on Ubuntu 10.04 / Apache 2.2 and CLI mode



Test script:

---------------

<?php

spl_autoload_register(

        function($autoload) {

                throw new Exception();

        }

);

try {

        Foo::bar();

} catch(Exception $e) {

        echo "Exception caught\n";

}

?>



Expected result:

----------------

Exception caught



Actual result:

--------------

Fatal error: Class 'Foo' not found in /home/daniel/www/other/php-bug.php
on line 0


Previous Comments:
------------------------------------------------------------------------
[2010-07-23 09:34:02] madboyka at yahoo dot com

Description:
------------
I've tried to do the following:



1. Wrote and autoload method, that throws an exception.

3. Made a static call on a non-existing class within a try block.



Tried this on windows 7 / Apache 2.2 / PHP 5.3.3.

Test script:
---------------
<?php



function __autoload($class_name) {

        throw new Exception($class_name);

}



try {

        Application::start();

        // new Application(); works fine

} catch (Exception $ex) {

        var_dump($ex);

}



Expected result:
----------------
The script should var_dump() an exception with the Message 'Application'
as it does when instantiating a class.

Actual result:
--------------
The script dies with Fatal error: Class 'Application' not found.


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=52412&edit=1

Reply via email to