You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Gary Gregory <ga...@gmail.com> on 2014/07/11 04:48:13 UTC

Re: svn commit: r1609602 - /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java

Or should we catch Exception and VerifyError, but not Throwable?

Gary


On Thu, Jul 10, 2014 at 9:26 PM, <ma...@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: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Re: svn commit: r1609602 - /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java

Posted by Remko Popma <re...@gmail.com>.
You don't think that my point that we are creating an optional JndiLookup
and any failure (where reasonable) should be ignored is a valid one?


On Fri, Jul 11, 2014 at 11:08 PM, Gary Gregory <ga...@gmail.com>
wrote:

> On Fri, Jul 11, 2014 at 10:01 AM, Remko Popma <re...@gmail.com>
> wrote:
>
>> If you want to modify this to only catch Exception and VerifyError, go
>> ahead.
>>
>
> Or only VerifyError since this is the exact problem encountered?
>
> Gary
>
>
>>
>> On Fri, Jul 11, 2014 at 10:28 PM, Gary Gregory <ga...@gmail.com>
>> wrote:
>>
>>> On Fri, Jul 11, 2014 at 9:09 AM, Matt Sicker <bo...@gmail.com> wrote:
>>>
>>>> Some Errors aren't worth catching, though. Actually, most of them.
>>>> Maybe it is worth catching VerifyError explicitly?
>>>>
>>>
>>> Some error you probably shouldn't catch, for example, when you are out
>>> of memory.
>>>
>>> Gary
>>>
>>>>
>>>>
>>>> On 10 July 2014 22:53, Remko Popma <re...@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 <ga...@gmail.com> wrote:
>>>>>
>>>>> Or should we catch Exception and VerifyError, but not Throwable?
>>>>>
>>>>> Gary
>>>>>
>>>>>
>>>>> On Thu, Jul 10, 2014 at 9:26 PM, <ma...@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: garydgregory@gmail.com | ggregory@apache.org
>>>>> Java Persistence with Hibernate, Second Edition
>>>>> <http://www.manning.com/bauer3/>
>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>> Blog: http://garygregory.wordpress.com
>>>>> Home: http://garygregory.com/
>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Matt Sicker <bo...@gmail.com>
>>>>
>>>
>>>
>>>
>>> --
>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
>>> Java Persistence with Hibernate, Second Edition
>>> <http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>
>>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>

Re: svn commit: r1609602 - /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java

Posted by Gary Gregory <ga...@gmail.com>.
On Fri, Jul 11, 2014 at 10:01 AM, Remko Popma <re...@gmail.com> wrote:

> If you want to modify this to only catch Exception and VerifyError, go
> ahead.
>

Or only VerifyError since this is the exact problem encountered?

Gary


>
> On Fri, Jul 11, 2014 at 10:28 PM, Gary Gregory <ga...@gmail.com>
> wrote:
>
>> On Fri, Jul 11, 2014 at 9:09 AM, Matt Sicker <bo...@gmail.com> wrote:
>>
>>> Some Errors aren't worth catching, though. Actually, most of them. Maybe
>>> it is worth catching VerifyError explicitly?
>>>
>>
>> Some error you probably shouldn't catch, for example, when you are out of
>> memory.
>>
>> Gary
>>
>>>
>>>
>>> On 10 July 2014 22:53, Remko Popma <re...@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 <ga...@gmail.com> wrote:
>>>>
>>>> Or should we catch Exception and VerifyError, but not Throwable?
>>>>
>>>> Gary
>>>>
>>>>
>>>> On Thu, Jul 10, 2014 at 9:26 PM, <ma...@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: garydgregory@gmail.com | ggregory@apache.org
>>>> Java Persistence with Hibernate, Second Edition
>>>> <http://www.manning.com/bauer3/>
>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>> Blog: http://garygregory.wordpress.com
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
>>>>
>>>>
>>>
>>>
>>> --
>>> Matt Sicker <bo...@gmail.com>
>>>
>>
>>
>>
>> --
>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
>> Java Persistence with Hibernate, Second Edition
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Re: svn commit: r1609602 - /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java

Posted by Remko Popma <re...@gmail.com>.
If you want to modify this to only catch Exception and VerifyError, go
ahead.


On Fri, Jul 11, 2014 at 10:28 PM, Gary Gregory <ga...@gmail.com>
wrote:

> On Fri, Jul 11, 2014 at 9:09 AM, Matt Sicker <bo...@gmail.com> wrote:
>
>> Some Errors aren't worth catching, though. Actually, most of them. Maybe
>> it is worth catching VerifyError explicitly?
>>
>
> Some error you probably shouldn't catch, for example, when you are out of
> memory.
>
> Gary
>
>>
>>
>> On 10 July 2014 22:53, Remko Popma <re...@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 <ga...@gmail.com> wrote:
>>>
>>> Or should we catch Exception and VerifyError, but not Throwable?
>>>
>>> Gary
>>>
>>>
>>> On Thu, Jul 10, 2014 at 9:26 PM, <ma...@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: garydgregory@gmail.com | ggregory@apache.org
>>> Java Persistence with Hibernate, Second Edition
>>> <http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>>
>>
>>
>> --
>> Matt Sicker <bo...@gmail.com>
>>
>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>

Re: svn commit: r1609602 - /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java

Posted by Gary Gregory <ga...@gmail.com>.
On Fri, Jul 11, 2014 at 9:09 AM, Matt Sicker <bo...@gmail.com> wrote:

> Some Errors aren't worth catching, though. Actually, most of them. Maybe
> it is worth catching VerifyError explicitly?
>

Some error you probably shouldn't catch, for example, when you are out of
memory.

Gary

>
>
> On 10 July 2014 22:53, Remko Popma <re...@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 <ga...@gmail.com> wrote:
>>
>> Or should we catch Exception and VerifyError, but not Throwable?
>>
>> Gary
>>
>>
>> On Thu, Jul 10, 2014 at 9:26 PM, <ma...@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: garydgregory@gmail.com | ggregory@apache.org
>> Java Persistence with Hibernate, Second Edition
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>>
>
>
> --
> Matt Sicker <bo...@gmail.com>
>



-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Re: svn commit: r1609602 - /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java

Posted by Remko Popma <re...@gmail.com>.
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 <bo...@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 <re...@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 <ga...@gmail.com> wrote:
>>> 
>>> Or should we catch Exception and VerifyError, but not Throwable? 
>>> 
>>> Gary
>>> 
>>> 
>>>> On Thu, Jul 10, 2014 at 9:26 PM, <ma...@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: garydgregory@gmail.com | ggregory@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 <bo...@gmail.com>

Re: svn commit: r1609602 - /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java

Posted by Matt Sicker <bo...@gmail.com>.
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 <re...@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 <ga...@gmail.com> wrote:
>
> Or should we catch Exception and VerifyError, but not Throwable?
>
> Gary
>
>
> On Thu, Jul 10, 2014 at 9:26 PM, <ma...@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: garydgregory@gmail.com | ggregory@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>


-- 
Matt Sicker <bo...@gmail.com>

Re: svn commit: r1609602 - /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java

Posted by Remko Popma <re...@gmail.com>.
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 <ga...@gmail.com> wrote:
> 
> Or should we catch Exception and VerifyError, but not Throwable? 
> 
> Gary
> 
> 
>> On Thu, Jul 10, 2014 at 9:26 PM, <ma...@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: garydgregory@gmail.com | ggregory@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