Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

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

Posted on 2004-05-01
16
Medium Priority
?
178 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
  • 3
  • +3
16 Comments
 
LVL 7

Expert Comment

by:maheshexp
ID: 10969964

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

Expert Comment

by:maheshexp
ID: 10969969

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
ID: 10969972
have a look at beginners site...
http://www.janeg.ca/scjp/language.html
0
The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

 
LVL 32

Expert Comment

by:ldbkutty
ID: 10969975
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
ID: 10970025
here also, the same repeated mahesh.... ;-) ...
0
 
LVL 7

Expert Comment

by:maheshexp
ID: 10970069
ok no problem..... :-)
0
 
LVL 7

Expert Comment

by:lhankins
ID: 10970103
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
 
LVL 7

Expert Comment

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

Expert Comment

by:sciuriware
ID: 10970553
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:Mayank S
ID: 10971252
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
ID: 10972979
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 80 total points
ID: 10973038
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
ID: 10973099
that helped, thanks!
0
 
LVL 32

Expert Comment

by:ldbkutty
ID: 10973778
Yep....sorry for my stupid post...

lhankins comment is cool...
0
 

Author Comment

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

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
Suggested Courses

722 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