[jboss-dev] throws Throwable
Andrew Lee Rubinger
andrew.rubinger at redhat.com
Wed May 6 15:35:44 EDT 2009
Jason T. Greene wrote:
> Max Rydahl Andersen wrote:
>>
>>
>> Tim Fox wrote:
>>> David M. Lloyd wrote:
>>>> On 05/05/2009 03:02 AM, Carlo de Wolf wrote:
>>>>> What's the use case for having a public method: doSomething(Object
>>>>> someArgs...) throws Throwable ?
>>>>
>>>> No valid use cases exist afaik. Any method that throws Throwable
>>>> should die, if it's within our power to kill it.
>>> Declaring a method as "throws Throwable" forces the caller to handle
>>> the exception even if the exception/error thrown is unchecked.
>> Then do throws RuntimeException
>>
>> Error's are *nonrecoverable* since they are OutOfMemory or hard VM
>> errors.No client can ever recover sanely.
>
> One valid case for throwing Throwable is a generic invocation mechanism
> (interceptors, proxies, etc).
Just because it's generic doesn't mean the caller can do anything about
it. In that case why not just "throws Exception"?
BTW as practice lately I tend to declare and document unchecked
exceptions to give the user a clear idea of what to expect, ie:
/**
* @throws IllegalStateException If not yet initialized
* @throws IllegalArgumentException If you gave me null, bastard
*/
myMethod(String arg) throws IllegalStateException,
IllegalArgumentException{}
S,
ALR
--
Andrew Lee Rubinger
Sr. Software Engineer
JBoss, a division of Red Hat, Inc.
http://exitcondition.alrubinger.com
More information about the jboss-development
mailing list