Re: [PHP] exception throw from __autoload could not be catched on php 5.3.1

2010-01-28 Thread Ashley Sheridan
On Fri, 2010-01-29 at 13:02 +0800, Eric Lee wrote:

 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,


What version of PHP are you using? The example will only work on PHP
version 5.3.0 and above

Thanks,
Ash
http://www.ashleysheridan.co.uk




Re: [PHP] exception throw from __autoload could not be catched on php 5.3.1

2010-01-28 Thread Ashley Sheridan
On Fri, 2010-01-29 at 13:02 +0800, Eric Lee wrote:

 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,


Sorry, ignore that, I see you're running 5.3.1, which should be fine for
running the example. I do notice that you've got [[[ and ]]] in-place of
?php and ?, was that intentional?

Thanks,
Ash
http://www.ashleysheridan.co.uk




Re: [PHP] exception throw from __autoload could not be catched on php 5.3.1

2010-01-28 Thread Ryan
于 2010-1-29 13:19, Ashley Sheridan 写道:
 On Fri, 2010-01-29 at 13:02 +0800, Eric Lee wrote:

   
 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,
 

 Sorry, ignore that, I see you're running 5.3.1, which should be fine for
 running the example. I do notice that you've got [[[ and ]]] in-place of
 ?php and ?, was that intentional?

 Thanks,
 Ash
 http://www.ashleysheridan.co.uk



   
Do you have any other autoload implamentaions? try testing that code
segment in a single php file and dump phpinfo() to make sure you are on
php 5.3.1

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] exception throw from __autoload could not be catched on php 5.3.1

2010-01-28 Thread Eric Lee
On Fri, Jan 29, 2010 at 1:19 PM, Ashley Sheridan
a...@ashleysheridan.co.ukwrote:

  On Fri, 2010-01-29 at 13:02 +0800, Eric Lee wrote:

 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,


 Sorry, ignore that, I see you're running 5.3.1, which should be fine for
 running the example. I do notice that you've got [[[ and ]]] in-place of
 ?php and ?, was that intentional?


Sorry for that !   I'am too lazy !!
And that's just for easy looking the code.

I actually use this,

?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 $e-getMessage(), \n;
}



?


Regards,
Eric,



   Thanks,
 Ash
 http://www.ashleysheridan.co.uk





Re: [PHP] exception throw from __autoload could not be catched on php 5.3.1

2010-01-28 Thread Eric Lee
Hi all and thanks for Ryan,


I apologize ! !
I have missed out the small class_exists call before it.


Thanks.


Regards,
Eric,

2010/1/29 Ryan ryansu...@gmail.com

 于 2010-1-29 13:19, Ashley Sheridan 写道:
  On Fri, 2010-01-29 at 13:02 +0800, Eric Lee wrote:
 
 
  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,
 
 
  Sorry, ignore that, I see you're running 5.3.1, which should be fine for
  running the example. I do notice that you've got [[[ and ]]] in-place of
  ?php and ?, was that intentional?
 
  Thanks,
  Ash
  http://www.ashleysheridan.co.uk
 
 
 
 
 Do you have any other autoload implamentaions? try testing that code
 segment in a single php file and dump phpinfo() to make sure you are on
 php 5.3.1