Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news-1.dfn.de!news.dfn.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Robert Klemme Newsgroups: comp.lang.java.programmer Subject: Re: About java program. Date: Mon, 08 Jul 2013 23:29:36 +0200 Lines: 60 Message-ID: References: <324f929f-772e-4004-81e1-6b454cdae794@googlegroups.com> <19wnriq53qxel.u9rt8wy6z52g.dlg@40tude.net> <1lvu4yv8sxe73$.n4o05ixuag9y.dlg@40tude.net> <85GdncWZdo04-lzMnZ2dnUVZ8mydnZ2d@bt.com> <51d6396c$0$295$14726298@news.sunsite.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net FnnPcTtp5tNSvVJfE0OfdgmyDxbpmTgUdX6TZ0Ke8wBtQaN0c= Cancel-Lock: sha1:r9d/WlN2NCbupxCMFpblJGqGKik= User-Agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 In-Reply-To: X-Antivirus: avast! (VPS 130708-0, 08.07.2013), Outbound message X-Antivirus-Status: Clean Xref: csiph.com comp.lang.java.programmer:24715 On 08.07.2013 21:01, Eric Sosman wrote: > On 7/8/2013 2:50 PM, Robert Klemme wrote: >> On 08.07.2013 00:07, Eric Sosman wrote: >>> On 7/7/2013 2:43 PM, Robert Klemme wrote: >>>> On 06.07.2013 14:22, Eric Sosman wrote: >>>>> On 7/6/2013 7:14 AM, Robert Klemme wrote: >>>>>> [...] >>>>>> Well, you can forget the logging on *any* level of the application. >>>>>> There is no really a difference between asking the author of this >>>>>> method >>>>>> to do proper error handling or asking the author of some other >>>>>> code to >>>>>> do it. >>>>> >>>>> The caller has more context. When Integer.parseInt() is >>>>> unable to make sense of the input string, it has no way of knowing >>>>> whether the failure is fatal, unusual, or expected. Do you think >>>>> it should log all such failures in addition to throwing up? >>>> >>>> No. That is exactly my point. >>> >>> Okay, you've confused me. I maintain that the caller has more >>> context than the callee, and is therefore (often) in a better position >>> to make wider-scope decisions in handling errors. That, it seems to >>> me, is a distinct and notable difference in how the errors are handled. >> >> Absolutely. >> >>> Yet you say "there is really no difference" in handling an error Here >>> or There (or maybe even Elsewhere). I don't get it. >> >> I just said above that errors by developers happen on every level of an >> application. If you ask that (error) conditions should be logged on a >> low level (callee) you can as well ask that errors are handled / logged >> at the upper level (caller). In light of human beings writing the code >> they can forget here or there. I said that because the argument was >> that the logging should be done in the low level method because the >> caller author may forget it. Does that help to get rid of the confusion? > > Thanks for the clarification. I misunderstood "you can forget" > as a dismissive idiom, as in "forget about it" (or "fuhgeddaboudit") > instead of as "one might forget" or "forgetfulness happens." Duh! Thank you for bringing that up. On rereading my wording was indeed quite ambiguous. Amazing how one does not notice - the meaning is of course obvious to the author. :-) > I think we agree vehemently. Yes. Cheers robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/