• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 185
  • Last Modified:

What's wrong with this code? What does the output look like?

try{
System.out.print(“Hello world “);
}
finally {
System.out.println(“Finally Executing “);
}

What should my output look like? this wouldn't compile on my machine.
0
aquemini001
Asked:
aquemini001
  • 5
  • 3
  • 3
  • +3
1 Solution
 
maheshexpCommented:

always the format is
try{
    ...
}
catch(Exception e){
    ....
}
finally{
......
}
0
 
maheshexpCommented:

http://www.site.uottawa.ca:4321/java/index.html#try-catch-finallystatement
http://www.churchillobjects.com/c/11012c.html
http://www.janeg.ca/scjp/flow/try.html

try{
   System.out.print(“Hello world “);
}
}
catch(Exception e){
}
finally{
System.out.println(“Finally Executing “);
}

output:
Hello world
Finally Executing
0
 
maheshexpCommented:
have a look at beginners site...
http://www.janeg.ca/scjp/language.html
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
ldbkuttyCommented:
there should not be a try block without catch....

place a catch block after the try...like:

try{
System.out.println("Hello World");
}

catch(Exception e) {     // one or more catch block is a MUST.
System.out.println("Exception in : " +e);
}

finally {       // one or none....OPTIONAL
System.out.println("Finally Executing");
}
0
 
ldbkuttyCommented:
here also, the same repeated mahesh.... ;-) ...
0
 
maheshexpCommented:
ok no problem..... :-)
0
 
lhankinsCommented:
Actually - its perfectly legal to have a try-finally (without a catch).

For example :

      try
      {
         System.out.println("hello");
      }
      finally
      {
         System.out.println("world");
      }

Will print out :

   Hello
   World

This is useful if you want to definitively do some sort of cleanup behavior (e.g. close a database connection), even in the face of an exception, but you don't want to handle the exception (e.g. it gets propagated out of the method, to the caller).
0
 
maheshexpCommented:
yeah, some format for try catch is explained in the links i posted....
0
 
sciuriwareCommented:
aquemini001, your program with a try - finally is completely legal according to the JAVA 2 standards.

It doesn't compile because you should surround strings with "
that is: ordinary double quotes and not the wordprocessor characters in your example.

Om my machine, W2K JAVA 2 1.4.2_04 it compiles and works OK.

;JOOP!
0
 
Mayank SAssociate Director - Product EngineeringCommented:
It is also possible that some other part of your program is giving compilation errors. Could you post the full code?
0
 
aquemini001Author Commented:
Some say i must have a "catch" after a try. Some say i don't. If it works both ways, which one is better? or is it just a matter of preference. Which was is more standard? to ALWAYS have a catch statement after a try? Can you u just have an empty catch statement followed by the "finally"?
Thanks
0
 
lhankinsCommented:
Put a catch statement after a try if you can handle the exception or if you don't want it to propagate out of the method.

For example:

   void someFn()
   {  
      try
      {
         // some logic
      }
      catch (Exception e)
      {
          // log the exception
          // recover from the exception
      }
      finally
      {
         // cleanup any resources allocated during the try phase
      }
   }

If you can't handle the exception and you want it to propagate to calling code, you can just skip the catch statement (and add the exception to the method's throws clause).   This means the Exception will be propagated all the way back to the code which called your method.

   void someFn() throws Exception
   {  
      try
      {
         // some logic
      }
      finally
      {
         // cleanup any resources allocated during the try phase
      }
   }

Either way, the finally is still important, because code in the finally block is guaranteed to execute, regardless of whether an exception is thrown or not.

0
 
aquemini001Author Commented:
that helped, thanks!
0
 
ldbkuttyCommented:
Yep....sorry for my stupid post...

lhankins comment is cool...
0
 
aquemini001Author Commented:
no, your answers are good too, you've answered a couple of my other questons. thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 5
  • 3
  • 3
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now