Github user gzak commented on the pull request:
https://github.com/apache/commons-lang/pull/98#issuecomment-113796901
Generally you don't do catch (RuntimeException) though, right? I would
panic slightly if I saw that, to be honest, since that could be
NullPointerException or DivideByZero, etc, which is generally masking a bug.
What will the handler for Guava's propagate method look like in practice?
If you're using it, you are signaling that the exception doesn't matter, so
just a catch (Exception) at the top will do (if you want to avoid Error).
It's true that this circumvents a Java language feature, but I would argue
that the feature itself does more harm than good, so circumventing it will
restore some semblance of order. Also, by making this technique more prevalent,
it's more likely that Java will drop the feature in the future. There's two
aspects: one is somewhat philosophical, which is to stay in tune with the
design of the language. The other is practical, which appeals to the day-to-day
costs of this design. I'm certainly trading philosophy for pragmatism here, but
I would argue that the latter is more important. It's what the troops on the
ground have to deal with every day.
Those are my final comments, I will accept whatever action you take at this
point, as I understand both sides (had the same debate with a colleague).
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---