2009/7/15 Weston C <west...@gmail.com>:

> <?php
>
> class A { }
>
> $a = new A();                           // Ayn would be proud, right?
>
> try {
>    echo "a is ",$a,"\n";
> } catch(Exception $e) {
>    echo "\nException Caught: ";
>    echo $e, $n;
> }
>
> ?>
>
> This does not run as expected. I'd think that when the implicit string
> conversion in the try block hits, the exception would be thrown,
> caught by the catch block, and relayed.
>
> Instead you don't ever see the words "exception caught" and you get
> "Catchable fatal error: Object of class A could not be converted to
> string."
>
> If it's catchable, why isn't it caught in my example?

It's not an exception, it's a "fatal error". Fatal errors are caught
by error handling functions, not by catch blocks.

Consequence of having (at least) two separate error handling
mechanisms in the same language.

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

Reply via email to