Catch the exception, log it or whatever, then throw an AppenderLoggingException 
chaining the original exception to it.

Ralph

> On Jan 14, 2016, at 7:08 PM, Nicholas Duane <[email protected]> wrote:
> 
> I'm getting a little confused here.  I also left out some information.  We do 
> need to catch because for some of our appenders we log the errors to loggers 
> which will capture the errors in a central location.
> 
> If we didn't include any exception handling that would mean any type of 
> exception could be thrown back to the AppenderControl.  So if I do catch 
> exceptions so that I can log them and then I want to rethrow them, is there a 
> reason why I have to wrap them in some specific type of exception?
> 
> Also, as I mentioned earlier, and unfortunately I didn't get a chance to test 
> this yet but I believe I've seen this happen before, if I'm attempting to 
> override a method which doesn't indicate it throws exceptions, won't the 
> compiler complain if I attempt to throw an exception from that method?
> 
> Thanks,
> Nick
> 
>> Subject: Re: Appender's append() method
>> From: [email protected]
>> Date: Wed, 13 Jan 2016 22:50:41 -0700
>> To: [email protected]
>> 
>> Why are you catching it at all? AppenderControl also takes care of handling 
>> logging the exception so you don’t even have to catch the exception to do 
>> that.
>> 
>> Ralph
>> 
>>> On Jan 13, 2016, at 7:49 PM, Nicholas Duane <[email protected]> wrote:
>>> 
>>> Also, why would we not just rethrow whatever exception we caught?
>>> 
>>> Thanks,
>>> Nick
>>> 
>>>> Subject: Re: Appender's append() method
>>>> From: [email protected]
>>>> Date: Wed, 13 Jan 2016 17:28:11 -0700
>>>> To: [email protected]
>>>> 
>>>> Sorry, that was what I meant.
>>>> 
>>>> Ralph
>>>> 
>>>>> On Jan 13, 2016, at 3:17 PM, Gary Gregory <[email protected]> wrote:
>>>>> 
>>>>> IMO a RuntimeException subclass is appropriate while RuntimeException
>>>>> should not be used.
>>>>> 
>>>>> Gary
>>>>> 
>>>>> On Wed, Jan 13, 2016 at 1:53 PM, Ralph Goers <[email protected]>
>>>>> wrote:
>>>>> 
>>>>>> Your appender is automatically wrapped by an AppenderControl object. The
>>>>>> AppenderControl will inspect the ignoreExceptions flag so your Appender
>>>>>> does not have to.  Your Appender should just throw a RuntimeException if 
>>>>>> it
>>>>>> encounters a problem.
>>>>>> 
>>>>>> Ralph
>>>>>> 
>>>>>>> On Jan 13, 2016, at 2:38 PM, Nicholas Duane <[email protected]> wrote:
>>>>>>> 
>>>>>>> I'm new to java so maybe this should be an obvious question to most java
>>>>>> developers.  If I'm trying to override the append() method but also throw
>>>>>> exceptions, how is that done?
>>>>>>> 
>>>>>>> I'm asking because I assume my append method's outermost catch block is
>>>>>> to inspect the ignoreExceptions flag and either bubble up the exception 
>>>>>> if
>>>>>> ignoreExceptions is false or eat the exception otherwise, most likely 
>>>>>> just
>>>>>> logging an event.  Is that true?  If so, then how do I accomplish that?  
>>>>>> I
>>>>>> tried coding it as I mentioned above (actually someone else did it for 
>>>>>> me),
>>>>>> but the compiler I guess was complaining about the throw needing to be 
>>>>>> in a
>>>>>> catch block, I assume because the append() method is not defined to throw
>>>>>> exceptions.
>>>>>>> 
>>>>>>> In addition, looking at what I think was source for one of your
>>>>>> appenders at:
>>>>>>> 
>>>>>>> 
>>>>>> https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=blob;f=log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java;h=9a4cfde83194c866c30c4687e9f4ebb19cb20a17;hb=75d33d96ac00356014cf11f8ad9e8c6ead4db37a
>>>>>>> 
>>>>>>> Why does it always throw an exception in the catch block instead of
>>>>>> checking the state of the ignoreExceptions flag?
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Nick
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>> For additional commands, e-mail: [email protected]
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> E-Mail: [email protected] | [email protected]
>>>>> 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
>>>> 
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>> 
>>>                                       
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
>                                         



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to