Solved

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

Posted on 2004-05-01
16
169 Views
Last Modified: 2010-03-31
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
Comment
Question by:aquemini001
  • 5
  • 3
  • 3
  • +3
16 Comments
 
LVL 7

Expert Comment

by:maheshexp
Comment Utility

always the format is
try{
    ...
}
catch(Exception e){
    ....
}
finally{
......
}
0
 
LVL 7

Expert Comment

by:maheshexp
Comment Utility

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
 
LVL 7

Expert Comment

by:maheshexp
Comment Utility
have a look at beginners site...
http://www.janeg.ca/scjp/language.html
0
 
LVL 32

Expert Comment

by:ldbkutty
Comment Utility
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
 
LVL 32

Expert Comment

by:ldbkutty
Comment Utility
here also, the same repeated mahesh.... ;-) ...
0
 
LVL 7

Expert Comment

by:maheshexp
Comment Utility
ok no problem..... :-)
0
 
LVL 7

Expert Comment

by:lhankins
Comment Utility
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 7

Expert Comment

by:maheshexp
Comment Utility
yeah, some format for try catch is explained in the links i posted....
0
 
LVL 24

Expert Comment

by:sciuriware
Comment Utility
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
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
It is also possible that some other part of your program is giving compilation errors. Could you post the full code?
0
 

Author Comment

by:aquemini001
Comment Utility
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
 
LVL 7

Accepted Solution

by:
lhankins earned 20 total points
Comment Utility
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
 

Author Comment

by:aquemini001
Comment Utility
that helped, thanks!
0
 
LVL 32

Expert Comment

by:ldbkutty
Comment Utility
Yep....sorry for my stupid post...

lhankins comment is cool...
0
 

Author Comment

by:aquemini001
Comment Utility
no, your answers are good too, you've answered a couple of my other questons. thanks
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now