From: Venkat Raman Don on
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:pgeric(a)gmail.com]
Sent: Thursday, January 28, 2010 9:09 PM
To: php-windows(a)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,
From: Venkat Raman Don on
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.Raman(a)microsoft.com]
Sent: Thursday, January 28, 2010 9:48 PM
To: Eric Lee; php-windows(a)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:pgeric(a)gmail.com]
Sent: Thursday, January 28, 2010 9:09 PM
To: php-windows(a)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,