Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 181
  • 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

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