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

Reply via email to