Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:33239 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 83453 invoked by uid 1010); 18 Nov 2007 02:23:36 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 83438 invoked from network); 18 Nov 2007 02:23:36 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2007 02:23:36 -0000 Authentication-Results: pb1.pair.com header.from=stas@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=stas@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.162 as permitted sender) X-PHP-List-Original-Sender: stas@zend.com X-Host-Fingerprint: 212.25.124.162 mail.zend.com Windows 2000 SP4, XP SP1 Received: from [212.25.124.162] ([212.25.124.162:46975] helo=mx1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 36/A9-14070-722AF374 for ; Sat, 17 Nov 2007 21:23:36 -0500 Received: from us-ex1.zend.com ([192.168.16.5]) by mx1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Sun, 18 Nov 2007 04:23:31 +0200 Received: from [192.168.17.92] ([192.168.17.92]) by us-ex1.zend.com with Microsoft SMTPSVC(6.0.3790.1830); Sat, 17 Nov 2007 18:23:28 -0800 Message-ID: <473FA220.3080508@zend.com> Date: Sat, 17 Nov 2007 18:23:28 -0800 Organization: Zend Technologies User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: Mehmet Yavuz Selim Soyturk CC: internals@lists.php.net References: <1abd9eb20711171436w4b797bffu4cab758407beebf6@mail.gmail.com> In-Reply-To: <1abd9eb20711171436w4b797bffu4cab758407beebf6@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 18 Nov 2007 02:23:28.0225 (UTC) FILETIME=[0130A510:01C8298A] Subject: Re: [PHP-DEV] Restore output buffer in case of exceptions From: stas@zend.com (Stanislav Malyshev) > That is the idea: > > > exceptional_ob_start(); > > echo "Begin\n"; > try { > echo "Exception\n"; > throw new Exception(); > } catch (Exception $e) {} > echo "End\n"; > > exceptional_ob_end_flush(); You can do it, I think - just another bufferign inside try() and clean it on exception, then output it after try block ends. Buffers are stackable in PHP. -- Stanislav Malyshev, Zend Software Architect stas@zend.com http://www.zend.com/ (408)253-8829 MSN: stas@zend.com