Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:86291 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71259 invoked from network); 17 May 2015 17:45:01 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 May 2015 17:45:01 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.41 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.41 mail-wg0-f41.google.com Received: from [74.125.82.41] ([74.125.82.41:34785] helo=mail-wg0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 95/E0-60782-B93D8555 for ; Sun, 17 May 2015 13:44:59 -0400 Received: by wguv19 with SMTP id v19so102514212wgu.1 for ; Sun, 17 May 2015 10:44:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type:subject:from:date:to:cc :message-id; bh=wDu7hp3ThuaZ9DdLZ0t6ZHjBEED68uX9aYN0ooa2Ne4=; b=VPZLM6l8UlVCohCibr0CRLsAxHEuLULNMquzTMxRlO4vmCZPCCg5yt1BCqA0gmwLHj OwYs3fh/5TOuHku44QrnGINbVUD6QoZnKVrYxg8u3gAlFY7Ek8ydTRfA9GYNsbDKjqZr 5yu0G9GtQwL+drA0Kae3aQZNx/Bks3zQ+sNRbzypRJ25Tha++JS1P5FUX8YE3UetNm2K m6BuzDAYbsJEkWbkGBO00JycHabxtYIwytYRtqx7jO5gmcWfY611JNPTfnCWqBsIF/Bd 568AOopwB0FqnODXq+muuGcmSUFJhy4v46RthWYZdyt9YAI36mEC/Z/3qA0UyeJJyLRO uwug== X-Received: by 10.180.12.104 with SMTP id x8mr15328387wib.85.1431884696785; Sun, 17 May 2015 10:44:56 -0700 (PDT) Received: from [192.168.0.6] (cpc68956-brig15-2-0-cust215.3-3.cable.virginm.net. [82.6.24.216]) by mx.google.com with ESMTPSA id kc4sm12991971wjc.2.2015.05.17.10.44.55 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 17 May 2015 10:44:55 -0700 (PDT) User-Agent: K-9 Mail for Android In-Reply-To: References: <554D8F4D.9020903@gmail.com> <554D90CC.3040607@php.net> <5552E3EB.5010800@gmail.com> <5552E494.5070401@php.net> <5552FF58.8070807@php.net> <55575DCF.50801@gmail.com> <55578C61.3040408@gmail.com> <555796C0.2020002@gmail.com> <5557A5C6.5050701@gmail.com> <877A3955-C72C-4DB0-9B4D-E2891EE55095@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Date: Sun, 17 May 2015 18:44:46 +0100 To: Levi Morrison CC: internals Message-ID: Subject: Re: [PHP-DEV] [VOTE] Exceptions in the engine From: rowan.collins@gmail.com (Rowan Collins) On 17 May 2015 16:02:40 BST, Levi Morrison wrote: >In this specific case we have broken all code out there. Yes, in the very specific case of people who both caught all exceptions and handled all E_RECOVERABLE errors, the existence of Throwable introduces a slightly worse BC break than without it. For code that catches all exceptions but doesn't handle any errors (which seems perfectly reasonable to me), it improves BC, as they will catch only the same exceptions they already did. It's also worth looking at the feature in its own right: if we didn't have any BC concerns, would it seem useful to be able to catch either all userland exceptions or all system exceptions, or both? If you were defining from scratch you could have UserException and EngineException extending Exception, but we can't change existing uses of Exception, so Exception and Error implementing Throwable gives us the same split. Regards, -- Rowan Collins [IMSoP]