In this particular case I disagree: we are creating an optional JndiLookup 
instance. If this fails for _any_ reason we want to log the error and keep 
going. 

It would be a shame if we revert to catching only VerifyError and then find out 
that on Android some other error may be thrown, rendering log4j2 unusable on 
that platform.  

Sent from my iPhone

> On 2014/07/11, at 22:09, Matt Sicker <boa...@gmail.com> wrote:
> 
> Some Errors aren't worth catching, though. Actually, most of them. Maybe it 
> is worth catching VerifyError explicitly?
> 
> 
>> On 10 July 2014 22:53, Remko Popma <remko.po...@gmail.com> wrote:
>> I think catching Throwable is fine. It is better for the user if all Errors 
>> here are trapped and handled IMO. 
>> 
>> Sent from my iPhone
>> 
>>> On 2014/07/11, at 11:48, Gary Gregory <garydgreg...@gmail.com> wrote:
>>> 
>>> Or should we catch Exception and VerifyError, but not Throwable? 
>>> 
>>> Gary
>>> 
>>> 
>>>> On Thu, Jul 10, 2014 at 9:26 PM, <mattsic...@apache.org> wrote:
>>>> Author: mattsicker
>>>> Date: Fri Jul 11 01:26:18 2014
>>>> New Revision: 1609602
>>>> 
>>>> URL: http://svn.apache.org/r1609602
>>>> Log:
>>>> Catch Throwable here to handle VerifyError.
>>>> 
>>>> Modified:
>>>>     
>>>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
>>>> 
>>>> Modified: 
>>>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
>>>> URL: 
>>>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java?rev=1609602&r1=1609601&r2=1609602&view=diff
>>>> ==============================================================================
>>>> --- 
>>>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
>>>>  (original)
>>>> +++ 
>>>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
>>>>  Fri Jul 11 01:26:18 2014
>>>> @@ -74,7 +74,7 @@ public class Interpolator implements Str
>>>>          lookups.put("env", new EnvironmentLookup());
>>>>          try {
>>>>              lookups.put("jndi", new JndiLookup());
>>>> -        } catch (Exception e) {
>>>> +        } catch (Throwable e) {
>>>>              // [LOG4J2-703] We might be on Android
>>>>              // java.lang.VerifyError: 
>>>> org/apache/logging/log4j/core/lookup/JndiLookup
>>>>              LOGGER.warn(
>>> 
>>> 
>>> 
>>> -- 
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org 
>>> Java Persistence with Hibernate, Second Edition
>>> JUnit in Action, Second Edition
>>> Spring Batch in Action
>>> Blog: http://garygregory.wordpress.com 
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
> 
> 
> 
> -- 
> Matt Sicker <boa...@gmail.com>

Reply via email to