From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id BAA11977; Thu, 20 Nov 2003 01:56:51 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id BAA11228 for ; Thu, 20 Nov 2003 01:56:50 +0100 (MET) Received: from smtp.siren.ocn.ne.jp (siren.ocn.ne.jp [211.129.13.170]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id hAK0um123364 for ; Thu, 20 Nov 2003 01:56:48 +0100 (MET) Received: from PWARP (p6045-ipad02kyoto.kyoto.ocn.ne.jp [61.214.83.45]) by smtp.siren.ocn.ne.jp (Postfix) with SMTP id 6514A1762; Thu, 20 Nov 2003 09:56:45 +0900 (JST) Message-ID: <008a01c3af01$2b0064a0$0274a8c0@PWARP> From: "Nicolas Cannasse" To: "Benjamin Geer" , "Caml Mailing List" Cc: References: <20031119165408.GA16427@redhat.com> <6F407D14-1AB4-11D8-8941-00039310CAE8@inria.fr> <20031119214503.GA18822@redhat.com> <3FBBF847.5060801@socialtools.net> Subject: Re: [Caml-list] GC and file descriptors Date: Thu, 20 Nov 2003 09:50:35 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-Loop: caml-list@inria.fr X-Spam: no; 0.00; cannasse:01 warplayer:01 caml-list:01 api:01 moderately:01 roulette:99 developpers:01 ignoring:01 seattle:99 roulette:99 cannasse:01 nicolas:01 nicolas:01 descriptors:01 catching:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > >>>This is the problem with checked exceptions in Java: the set of > >>>exceptions that can be thrown is an implementation detail which is > >>>exposed unnecessarily through the API. > >> > >>IMO it is part of the interface, just like the return type of the > >>functions. > > > > I think in academia you can say these things. But on the sprawling > > real projects, badly managed, written by poorly skilled programmers, > > checked exceptions are a really bad idea. (Trust me on this one, I've > > worked on several such projects). > > I design moderately large Java projects for a living, and I think > checked exceptions are the only thing that forces poorly skilled and > indifferent programmers to do any error handling at all. When a > designer establishes a sensible policy regarding exceptions, checked > exceptions make it possible to be reasonably confident that (nearly) all > error conditions are handled in a sane manner. On a large project, this > is a precious advantage. > > There's nothing worse than using a library without having any idea what > exceptions it might throw. It's like playing Russian roulette. It can work in an opposite way. I've seen developpers (professional) that couldn't break the specification by adding an throws statement so they were simply catching .... and ignoring the exceptions ! There's nothing worse than using a library without having any idea what error happened inside it . It's like playing Seattle roulette :-) Nicolas Cannasse ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners