On Tue, Aug 2, 2011 at 4:47 PM, Richard Quadling <rquadl...@gmail.com> wrote:
> Hi.
>
> Given the relatively simple code below, why can't I throw an exception
> in __toString()?
>
> <?php
> class AlwaysFails {
>  public function asString() {
>    throw new Exception('Failed in asString()');
>  }
>
>  public function __toString() {
>    throw new Exception('Failed in __toString()');
>  }
> }
>
> $failure = new AlwaysFails;
> try {
>  echo $failure->asString();
> }
> catch(Exception $ex) {
>  echo $ex->getMessage();
> }
>
> try {
>  echo $failure;
> }
> catch(Exception $ex) {
>  echo $ex->getMessage();
> }
> ?>
>
> outputs ...
>
> Failed in asString()
> Fatal error: Method AlwaysFails::__toString() must not throw an
> exception in Z:\fa1.php on line 21
>
>
>
>
> --
> Richard Quadling
> Twitter : EE : Zend : PHPDoc
> @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

http://stackoverflow.com/questions/2429642/why-its-impossible-to-throw-exception-from-tostring


-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to