2009/2/3 Wickland, Leif <lwickl...@rightnow.com>: > I would expect that if I turn on output buffering, echo something, throw an > exception, and catch the exception, nothing will have been actually output.. > That doesn't seem to be the case. Throwing an exception seems to defeat > output buffering. > > In the following code, I would not expect to see the <h1>, but I do. > > > > <? > try { > ob_start(); > echo '<h1>You should not see this!</h1>'; > throw new Exception('<h2>This should be the first output.</h2>'); > exit( 'Contents: ' . ob_get_clean()); > } > catch (Exception $ex) { > exit('<h2>Exception:</h2>' . $ex->getMessage()); > } > > > I'm exercising that code on PHP 5.2.4 and 5.2.8. > > Does anybody know why throwing an exception seems to override ob_start(), > flushing the buffered output?
It doesn't, but the end of the script performs an implicit flush. -Stuart -- http://stut.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php