Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #33776

Re: Java Checked Exception is BAD!

From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Java Checked Exception is BAD!
Date 2016-02-11 12:00 -0500
Organization A noiseless patient Spider
Message-ID <n9iei6$sbr$1@dont-email.me> (permalink)
References (7 earlier) <728b8b89-9c94-4d41-b794-3e797f34a8cd@googlegroups.com> <dhrfbkFae81U1@mid.individual.net> <83011e99-7f61-4f02-8cba-2f2c9107d8ee@googlegroups.com> <fda72a96-d611-4be9-a2db-c3123f62cdee@googlegroups.com> <56bcaad1$0$23816$e4fe514c@news.xs4all.nl>

Show all headers | View raw


On 2/11/2016 10:37 AM, Silvio wrote:
> [...]
> I am curious what you think of the way checked exceptions and lambdas
> interfere. Do you think they got this right?
>
> In my opinion they chose the least painful option, be it far from painless.
>
> To be honest I think the single biggest thing hampering lambda
> usefulness is the "effectively final" restriction on local variables.
> But together with that I think the way checked exceptions interfere with
> lambdas have made them the crippled nephew of real closures like they
> exist in other languages, among which Scala.
>
> I think the former was a poor lambda design decision. The latter was
> inevitable because of the existence of checked exceptions.

     Wrong, on several counts.

     1) There is nothing that prevents a lambda expression from throwing
a checked exception.  Nor an unchecked exception, for that matter.  A
lambda expression can throw any kind of Throwable it wants to, so long
as the interface it implements allows it.

     2) The various interfaces used with stream pipelines (Predicate,
Collector, BiConsumer, and so on) describe methods that do not throw
checked exceptions.  If you wanted to roll up your sleeves and get down
and dirty with StreamSupport and so on, I imagine you could invent your
own pipeline stages and throw any exceptions you like.

     3) Although lambda expressions are often convenient when writing
stream pipelines, they are not essential to the task.  For any pipeline
using lambda expressions, you could write an equivalent using anonymous
classes -- or using ordinary named classes, for that matter.

     4) Stream pipelines interact badly with exceptions (which may be a
reason why the standard interfaces declare none), but it has nothing
to do with whether the exceptions are checked or unchecked.  See up-
thread for a demonstration I posted a few days ago, illustrating a
Bad Thing that can happen when a pipeline stage throws RuntimeException.

     5) ... and my illustration could just as well have used anonymous
classes instead of lambdas.

     The problems with streams and exceptions have nothing to do with
whether the exceptions are checked, and have nothing to do with whether
they originate from lambda expression bodies.

     Aside from that, we're in perfect agreement.  ;-)

-- 
esosman@comcast-dot-net.invalid
"Don't be afraid of work. Make work afraid of you." -- TLM

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 07:18 -0800
  Re: Java Checked Exception is BAD! Eric Douglas <e.d.programmer@gmail.com> - 2016-02-04 08:15 -0800
    Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-04 17:57 +0100
      Re: Java Checked Exception is BAD! Eric Douglas <e.d.programmer@gmail.com> - 2016-02-04 10:09 -0800
        Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-04 21:01 +0100
          Re: Java Checked Exception is BAD! Eric Douglas <e.d.programmer@gmail.com> - 2016-02-04 12:14 -0800
          Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-04 15:16 -0500
            Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-04 21:37 +0100
              Re: Java Checked Exception is BAD! Eric Douglas <e.d.programmer@gmail.com> - 2016-02-04 13:08 -0800
                Re: Java Checked Exception is BAD! 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-04 21:16 +0000
                Re: Java Checked Exception is BAD! Eric Douglas <e.d.programmer@gmail.com> - 2016-02-04 13:28 -0800
                Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-04 23:11 +0000
                Re: Java Checked Exception is BAD! a.laforgia@gmail.com - 2016-02-05 04:21 -0800
                Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-05 13:07 +0000
              Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-04 18:04 -0500
                Re: Java Checked Exception is BAD! Gene Wirchenko <genew@telus.net> - 2016-02-05 11:40 -0800
          Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-04 23:22 +0100
          Re: Java Checked Exception is BAD! ruben <ceo@iran.gov> - 2016-02-15 11:45 +0000
      Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 11:57 -0800
        Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-04 21:07 +0100
    Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 11:10 -0800
      Re: Java Checked Exception is BAD! Eric Douglas <e.d.programmer@gmail.com> - 2016-02-04 11:28 -0800
        Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 11:33 -0800
          Re: Java Checked Exception is BAD! 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-04 21:08 +0000
          Re: Java Checked Exception is BAD! Lew <lewbloch@gmail.com> - 2016-02-04 16:09 -0800
  Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-04 12:00 -0500
  Re: Java Checked Exception is BAD! Marcel Mueller <news.5.maazl@spamgourmet.org> - 2016-02-04 19:28 +0100
    Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 11:15 -0800
      Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-04 14:51 -0500
  Re: Java Checked Exception is BAD! 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-04 21:07 +0000
    Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 14:36 -0800
      Re: Java Checked Exception is BAD! a.laforgia@gmail.com - 2016-02-05 05:28 -0800
  Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 15:31 -0800
    Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-05 08:20 -0500
      Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-05 08:25 -0800
        Re: Java Checked Exception is BAD! Eric Douglas <e.d.programmer@gmail.com> - 2016-02-05 08:47 -0800
          Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-05 16:09 -0800
            Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-06 08:38 -0500
              Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-06 14:13 +0000
                Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-06 15:23 +0100
                Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-07 14:49 +0100
                Re: Java Checked Exceptions Robert Klemme <shortcutter@googlemail.com> - 2016-02-07 21:55 +0100
                Re: Java Checked Exceptions boxzou@gmail.com - 2016-02-07 14:39 -0800
                Re: Java Checked Exceptions Robert Klemme <shortcutter@googlemail.com> - 2016-02-08 13:30 +0100
                Re: Java Checked Exceptions boxzou@gmail.com - 2016-02-08 06:14 -0800
                Re: Java Checked Exceptions Robert Klemme <shortcutter@googlemail.com> - 2016-02-08 20:55 +0100
                Re: Java Checked Exceptions Lew <lewbloch@gmail.com> - 2016-02-08 16:06 -0800
                Re: Java Checked Exceptions boxzou@gmail.com - 2016-02-08 18:38 -0800
                Re: Java Checked Exceptions Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-09 12:15 +0000
                Re: Java Checked Exceptions boxzou@gmail.com - 2016-02-09 04:59 -0800
                Re: Java Checked Exceptions Lew <lewbloch@gmail.com> - 2016-02-10 12:13 -0800
                Re: Java Checked Exceptions boxzou@gmail.com - 2016-02-10 19:00 -0800
                Re: Java Checked Exceptions Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-11 12:18 +0000
                Re: Java Checked Exceptions leif.roar@dimnakorr.com - 2016-02-11 04:43 -0600
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 14:34 -0800
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 14:11 -0800
                Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-07 23:19 +0000
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 15:42 -0800
                Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-06 09:43 -0500
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 14:14 -0800
                Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-08 09:22 -0500
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-08 11:01 -0800
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-08 11:08 -0800
                Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-08 22:02 +0100
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 14:09 -0800
                Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-07 23:29 +0000
                Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-08 21:49 +0100
                Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-08 17:23 -0500
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-08 18:46 -0800
                Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-09 08:21 +0100
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-09 04:58 -0800
                Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-09 08:17 -0500
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-09 07:57 -0800
                Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-10 02:37 +0100
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-10 18:58 -0800
                Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-11 08:13 -0500
                Re: Java Checked Exception is BAD! Lew <lewbloch@gmail.com> - 2016-02-11 14:02 -0800
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-11 16:41 -0800
                Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-10 02:31 +0100
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-10 18:47 -0800
                Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-09 12:26 +0000
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-09 04:57 -0800
                Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-09 18:27 +0000
              Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 20:19 -0800
            Re: Java Checked Exception is BAD! Robert Klemme <shortcutter@googlemail.com> - 2016-02-06 16:01 +0100
              Re: Java Checked Exception is BAD! 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-06 15:10 +0000
                Re: Java Checked Exception is BAD! Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2016-02-06 17:59 -0800
                Re: Java Checked Exception is BAD! 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-07 09:34 +0000
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 14:23 -0800
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 20:52 -0800
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 21:13 -0800
              Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-07 14:19 -0800
                Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-07 23:42 +0000
                Re: Java Checked Exception is BAD! Robert Klemme <shortcutter@googlemail.com> - 2016-02-08 13:17 +0100
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-08 04:39 -0800
                Re: Java Checked Exception is BAD! Lew <lewbloch@gmail.com> - 2016-02-08 16:05 -0800
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-08 18:35 -0800
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-08 19:10 -0800
                Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-08 19:12 -0800
                Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-11 16:37 +0100
                Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-11 12:00 -0500
                Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-11 19:01 +0100
                Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-11 20:32 +0100
                Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-11 15:20 -0500
                Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-11 23:53 +0100
                Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-11 18:21 -0500
                Re: Java Checked Exception is BAD! Lew <lewbloch@gmail.com> - 2016-02-11 15:45 -0800
                Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-12 01:19 +0100
                Re: Java Checked Exception is BAD! Lew <lewbloch@gmail.com> - 2016-02-11 19:18 -0800
                Re: Java Checked Exception is BAD! Sebastian <news@seyweiler.dyndns.org> - 2016-02-12 08:31 +0100
                Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-12 15:33 +0100
                Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-12 15:41 +0100
                Re: Java Checked Exception is BAD! Silvio <silvio@internet.com> - 2016-02-12 15:42 +0100
                Re: Java Checked Exception is BAD! Martin Gregorie <martin@address-in-sig.invalid> - 2016-02-08 21:19 +0000
        Re: Java Checked Exception is BAD! Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-05 13:00 -0500
  Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 15:51 -0800
    Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 15:59 -0800
      Re: Java Checked Exception is BAD! boxzou@gmail.com - 2016-02-04 16:03 -0800
    Re: Java Checked Exception is BAD! Eric Douglas <e.d.programmer@gmail.com> - 2016-02-05 05:33 -0800
  Re: Java Checked Exception is BAD! Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2016-02-04 21:05 -0800
  Re: Java Checked Exception is BAD! ynseo <yeori.seo@gmail.com> - 2016-02-08 01:05 -0800
  Re: Java Checked Exception is BAD! Sebastian <sebastian.millies@softwareag.com> - 2016-02-19 03:43 -0800

csiph-web