Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:62615 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 52751 invoked from network); 31 Aug 2012 17:36:48 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Aug 2012 17:36:48 -0000 Authentication-Results: pb1.pair.com smtp.mail=lester@lsces.co.uk; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=lester@lsces.co.uk; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lsces.co.uk from 213.123.20.128 cause and error) X-PHP-List-Original-Sender: lester@lsces.co.uk X-Host-Fingerprint: 213.123.20.128 c2bthomr10.btconnect.com Received: from [213.123.20.128] ([213.123.20.128:38051] helo=mail.btconnect.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 33/23-37167-D26F0405 for ; Fri, 31 Aug 2012 13:36:46 -0400 Received: from host81-138-11-136.in-addr.btopenworld.com (EHLO _10.0.0.5_) ([81.138.11.136]) by c2bthomr10.btconnect.com with ESMTP id IYU64905; Fri, 31 Aug 2012 18:36:42 +0100 (BST) Message-ID: <5040F62A.7080400@lsces.co.uk> Date: Fri, 31 Aug 2012 18:36:42 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120604 Firefox/13.0 SeaMonkey/2.10 MIME-Version: 1.0 To: PHP Internals References: <5040DC47.8000305@ajf.me> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Mirapoint-IP-Reputation: reputation=Fair-1, source=Queried, refid=tid=0001.0A0B0301.5040F62A.001A, actions=tag X-Junkmail-Premium-Raw: score=7/50, refid=2.7.2:2012.8.31.170317:17:7.944, ip=81.138.11.136, rules=__MOZILLA_MSGID, __HAS_MSGID, __SANE_MSGID, __HAS_FROM, __USER_AGENT, __MIME_VERSION, __TO_MALFORMED_2, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __CT, __CT_TEXT_PLAIN, __CTE, __ANY_URI, __URI_NO_MAILTO, __URI_NO_WWW, __CP_URI_IN_BODY, BODY_ENDS_IN_URL, BODYTEXTP_SIZE_3000_LESS, BODY_SIZE_2000_2999, __MIME_TEXT_ONLY, RDNS_GENERIC_POOLED, HTML_00_01, HTML_00_10, BODY_SIZE_5000_LESS, RDNS_SUSP_GENERIC, RDNS_SUSP, BODY_SIZE_7000_LESS X-Junkmail-Status: score=10/50, host=c2bthomr10.btconnect.com X-Junkmail-Signature-Raw: score=unknown, refid=str=0001.0A0B020B.5040F62A.00BB:SCFSTAT14830815,ss=1,re=-4.000,fgs=0, ip=0.0.0.0, so=2011-07-25 19:15:43, dmn=2011-05-27 18:58:46, mode=multiengine X-Junkmail-IWF: false Subject: Re: [PHP-DEV] Re: Are exceptions allowed in php core? From: lester@lsces.co.uk (Lester Caine) Ferenc Kovacs wrote: >> I think it's fine for warnings, notices, and deprecations. > > Yeah, continuing the execution and still being to handle/log multiple > notices is something that wouldn't be possible with exceptions. I think it is a matter of identify where exceptions might be appropriate. On the whole there is not a problem currently. >> >It's well suited to that kind of thing, and for that it should be kept >> >(along with completely fatal core errors, where instantiating an object is >> >inappropriate or impossible.) And yes, I think there should be exceptions >> >in core PHP where appropriate >> > > Agree on both cases, but please don't turn this thread into discussing the > viability of turning the php current error handling into exceptions, we > have threads for that. > This thread is about whether or not it is fine for a (new)core feature to > throw exceptions if appropriate. Once again it's the 'if appropriate' rather than 'if necessary'? Adding exceptions is another discussion, and I totally agree that in a few areas then almost anything would be better than the current errors, but simply returning an exception may not be necessary? I am feeling that we are getting to a point where there needs to be two different types of PHP. One that is basically OOP only and does not handle procedural stuff, and for us old stick in the mud's a procedural base that handles OO as it has in the past. Generators are an example of something that when left open and used via the various functions simply makes following easier than hiding everything away and just working by hidden magic. Exceptions have a place in the right layer, just as warnings would have if a function was called at the wrong point. Returning a suitable error number is just as valid as having to wrap stuff in try statements simply because the function does not actually handle an error condition? The Error handling brainstorming flagged up that the reasons for using an exception are not understood, so we need to understand when they are 'needed' rather then when 'appropriate'? -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk