Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:67170 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 16414 invoked from network); 26 Apr 2013 15:47:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Apr 2013 15:47:51 -0000 Authentication-Results: pb1.pair.com smtp.mail=brianofish@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=php@bof.de; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.50 as permitted sender) X-PHP-List-Original-Sender: brianofish@gmail.com X-Host-Fingerprint: 209.85.214.50 mail-bk0-f50.google.com Received: from [209.85.214.50] ([209.85.214.50:50959] helo=mail-bk0-f50.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F3/85-15719-4A1AA715 for ; Fri, 26 Apr 2013 11:47:48 -0400 Received: by mail-bk0-f50.google.com with SMTP id ik5so1822911bkc.9 for ; Fri, 26 Apr 2013 08:47:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:user-agent :in-reply-to:references:mime-version:content-transfer-encoding :content-type; bh=QRhr3C/o/QODAJLx5rBJ6NaiKijrG0BSFI+SBc8u94w=; b=fjdqnTfzNx3EdbTRMQZzC/LcIQc7B4wKtEsCe7Nv/rcOBKsh0J8AsHWcARUPLu/FBh Cb1qOr13upO0qe949vjKGMiuKFrcGA8rfAJwfsx2CE4yKGfk15z311YI9JBA8VByB1RP wde+43IDIa6fD62qjrlx/xkb4gQPIaWcocOlc4D9pwSiZevLeErcSjKz+R666iPWzyEp rhJS2Typ/he8Rf26c9bChWTzROrtziBCkYakwgU0rr6jilGsd9QNIIshzMOk4XfnQYKH POGxVr+ig8PEtrONthjuW1Zxodo2cxlAIbBR+iGM39wmr76tQJ4f9uerLBhuf3m+2NXI YdHQ== X-Received: by 10.205.21.10 with SMTP id qq10mr18545747bkb.133.1366991264881; Fri, 26 Apr 2013 08:47:44 -0700 (PDT) Received: from rofl.localnet (p5DCB36BE.dip0.t-ipconnect.de. [93.203.54.190]) by mx.google.com with ESMTPSA id w6sm3514336bkz.17.2013.04.26.08.47.43 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 26 Apr 2013 08:47:44 -0700 (PDT) To: internals@lists.php.net Cc: Julien Pauli Date: Fri, 26 Apr 2013 17:47:41 +0200 Message-ID: <170891005.EmXIrsICLC@rofl> User-Agent: KMail/4.10.2 (Linux/3.8.8-k10-bof; KDE/4.10.2; x86_64; ; ) In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [PHP-DEV] Continued try blocks From: php@bof.de (Patrick Schaaf) On Friday 26 April 2013 16:41:17 Julien Pauli wrote: > *try {* > * foo();* > * bar();* > * baz();* > *} catch (SomeException $e) {* > * dosomestuff();* > * continue; /* Here is the feature, go back to try block */* > *} catch (Exception $e) {* > * dosomething();* > *}* >... > So, in this example, if, say, bar() throws a SomeException , the code > would then resume and execute baz() after the catch block. What exactly would it "continue" with? The next instruction after whereever the "throw" was? The toplevel function call (or other code) next after the toplevel function in the try block that threw up? The first answer won't work because any object live when bar() threw but only referenced in the call stack below the try block, will already have been destructed. The second answer appears ... semantically dubious. best regards Patrick