Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Stanimir Stamenkov Newsgroups: comp.lang.java.help Subject: Re: TeeOutputStream? Date: Tue, 07 Jun 2011 00:45:17 +0300 Organization: A noiseless patient Spider Lines: 26 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 6 Jun 2011 21:45:15 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="VdcnnljfizG2LUdZ5iOA6g"; logging-data="5502"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+C0pFp+BOCH9z/Mq2ttPHK" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20110531 SeaMonkey/2.1pre In-Reply-To: X-Face: )>>ChyF_H On 6/5/2011 3:23 PM, Stanimir Stamenkov wrote: >> Sun, 05 Jun 2011 12:23:09 +0100, /rossum/: >> >>> public void close() throws IOException { >>> >>> IOException firstFail = null; >>> IOException secondFail = null; >>> >>> try { >>> try { >>> os1.close(); >>> } catch (IOException ioe1) { >>> firstFail = ioe1; >> >> Wouldn't this approach fail in face of RuntimeException or Error thrown? > > There may be a case for saying that the operation has failed as a whole, > and should be abandoned with the appropriate throw, if there is a > problem other than an IOException from one of the streams. But then, shouldn't an effort to close all resources be made before letting the first throw pop up the stack, in most cases? -- Stanimir