On second thought, the output I am getting:

Want to load NonLoadableClass. Unable to load NonLoadableClass.

is consistent with the example on php.net ( 
http://php.net/manual/en/language.oop5.autoload.php ).

So sorry about previous mail. This is not reproing for me. Are you running it 
using PHP command line? This is not supported in CLI mode. Can you paste the 
output you are getting?

I modified the program to:

<?php

function __autoload($name) {
   echo "Want to load $name.\n";
   throw new Exception("Unable to load $name."); }

try {
   $obj = new NonLoadableClass();
} catch (Exception $e) {
   echo "Don\n";
   echo $e->getMessage(), "\n";
}

?>

And I get the output as:
Want to load NonLoadableClass. Don Unable to load NonLoadableClass.

So I can see 'Don' getting printed in the browser. Please let us know the 
output you are getting.

Thanks,
Don.

-----Original Message-----
From: Venkat Raman Don [mailto:don.ra...@microsoft.com] 
Sent: Thursday, January 28, 2010 9:48 PM
To: Eric Lee; php-windows@lists.php.net
Subject: RE: [PHP-WIN] exception throw from __autoload could not be catched on 
php 5.3.1

Yes, I am also able to reproduce this in the browser using both 5.3.1 as well 
as 5.3.0 on Windows using IIS.

Seems like a bug.

You may like to file the bug at http://bugs.php.net.

Thanks,
Don.

-----Original Message-----
From: Eric Lee [mailto:pge...@gmail.com] 
Sent: Thursday, January 28, 2010 9:09 PM
To: php-windows@lists.php.net
Subject: [PHP-WIN] exception throw from __autoload could not be catched on php 
5.3.1

Hi php-dev pros,

I got an issue about catching exception throw from __autoload on php 5.3.1.

The manual state that exception throw from __autoload could be catched with
try.. catch statement same as the normal flow.

But I'can archive that even I have copied the same sample code from the
manual.

Here are the code segment.

[[[
function __autoload($name) {
   echo "Want to load $name.\n";
   throw new Exception("Unable to load $name.");
}

try {
   $obj = new NonLoadableClass();
} catch (Exception $e) {
   echo $e->getMessage(), "\n";
}

]]]

Are there anyone experienced this or not ?

Thanks in advance !

Regards,
Eric,

Reply via email to