Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:86287 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 24000 invoked from network); 17 May 2015 05:25:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 May 2015 05:25:21 -0000 Authentication-Results: pb1.pair.com header.from=aaron@icicle.io; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=aaron@icicle.io; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain icicle.io designates 199.38.81.6 as permitted sender) X-PHP-List-Original-Sender: aaron@icicle.io X-Host-Fingerprint: 199.38.81.6 mercury.negativeion.net Received: from [199.38.81.6] ([199.38.81.6:63657] helo=mercury.negativeion.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4D/85-14891-F3628555 for ; Sun, 17 May 2015 01:25:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mercury.negativeion.net (Postfix) with ESMTP id D0EA2254A194 for ; Sun, 17 May 2015 01:25:17 -0400 (EDT) X-Virus-Scanned: amavisd-new at negativeion.net Received: from mercury.negativeion.net ([127.0.0.1]) by localhost (mercury.negativeion.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dl7Qz04iPqFT for ; Sun, 17 May 2015 01:25:17 -0400 (EDT) Received: from mars.local (unknown [173.225.150.231]) by mercury.negativeion.net (Postfix) with ESMTPSA id 48185254A187 for ; Sun, 17 May 2015 01:25:17 -0400 (EDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\)) In-Reply-To: <55582210.9060908@php.net> Date: Sun, 17 May 2015 00:25:17 -0500 Content-Transfer-Encoding: quoted-printable Message-ID: References: <5557AF50.3060203@gmail.com> <55582210.9060908@php.net> To: internals@lists.php.net X-Mailer: Apple Mail (2.2098) Subject: Re: [PHP-DEV] Throwable patch(es) and finalizing the story From: aaron@icicle.io (Aaron Piotrowski) I tried to keep the implementation simpler in the first PR, but I think = the second I submitted is much better and should be closer to what you = had in mind. The second PR does not prevent user space code from instigating Error, = but I do have another branch that does prevent it (same behavior as = trying to write `new Closure()`) that I could merge if it is decided = that the behavior is desired. Aaron Piotrowski (Sorry for originally sending this to you directly Sebastian, I=E2=80=99m = new to the list and thought I could just hit reply.) > On May 17, 2015, at 12:07 AM, Sebastian Bergmann = wrote: >=20 > On 05/16/2015 10:57 PM, Stanislav Malyshev wrote: >> I am assuming we have broad consensus about the move from = BaseException >> to Throwable. I've looked at the patch at >> https://github.com/php/php-src/pull/1282 and it seems pretty close to >> what we want to me. The only difference is that >> https://wiki.php.net/rfc/throwable says Throwable is an interface and >> this patch makes it abstract class >=20 > It is supposed to be an interface. It it's not then it's a mistake in = the > patch. >=20 > I strongly believe that the hierarchy for exceptions thrown by the > engine must be separate from the hierarchy for exception thrown by > userland code (and "regular" extensions such as Reflection, etc.). > The whole purpose of the Throwable interface is to mark objects of > both hierarchies as throwable. >=20 > Whether we name the base class of the hierarchy for exceptions thrown > by the engine Error or EngineException, I don't really care. But Error > feels more right to me than EngineException. I do care, though, about > the fact that userland code (and "regular" extensions such as = Reflection, > etc.) must not throw engine exceptions. >=20 > --=20 > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >=20