• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • Rob Spoor
  • Bear Bibeault
Saloon Keepers:
  • Jesse Silverman
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Piet Souris
  • Al Hobbs
  • salvin francis

Exceptions - throws and try, catch..

 
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
As I understand, the throws clause is used in the method
declaration indicating that the method being created might throw an exception(which is being declared) and the application/program using this method should be able to handle it.
Now, my questions are:
1. Since we always code try and catch for an exception we want
to handle inside the method being created, why do we have
to mention throws in the method/class declaration and let
other methods/classes handle the exception?
2. If the above case is true, why do we need to have throws
clause at all, if we are able to handle all the exceptions
using try and catch?
Am I making sense here? Please clarify my doubts.
Thanks
 
Desperado
Posts: 3226
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If the method handles the checked exception by itself, it doesn't have to declare that it throws it.
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Then, in what scenarios, exactly do we have to use Throws clause?
Thanks.
 
Tony Alicea
Desperado
Posts: 3226
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
When the methods throws a checked exception and does not catch it in a try/catch block, it must declare it in its <CODE>throws</CODE> clause.
 
Wanderer
Posts: 18671
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Although you can catch an exception as soon as it's thrown, sometimes it's much more convenient to catch it in one of the outer calling functions. You have the option to defer handling to an outer function; if you do, you must declare the exception in a throws clause.
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Jim, Your answer cleared my doubt, about the use of throws clause.
 
Ranch Hand
Posts: 315
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I know we can have
try with couple differnt catch.
How about having 2 try block?
I can't get it compile but it doesn't make sense to me.
Any one can explain for that? Thanks!
 
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Why would you need two try blocks? What would that buy you?
Another reason for declaring a throws is that you may generate the exception yourself!
 
Ranch Hand
Posts: 3244
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Java2learner
Welcome to the Java Ranch, we hope you’ll enjoy visiting as a regular however,
your name is not in keeping with our naming policy here at the ranch. Please change your display name to an appropriate name as shown in the policy.
Thanks again and we hope to see you around the ranch!!
 
reply
    Bookmark Topic Watch Topic
  • New Topic