Solved

Unchecked, unchecked exceptions and closures

Posted on 2014-03-25
8
247 Views
Last Modified: 2014-05-02
Unchecked exceptions make your code much simpler. For example, the Spring JDBC Template support can shrink your JDBC code enormously by getting rid of those unsightly try, catch, and finally blocks, and cleanly releasing the database resources like connections, statements, etc. Checked exceptions are also the main reason for Java not having closures till JRE 6.0 as it adds to the complexity.

I was reading as above. I have not clearly undertsood it.
please advise
Any links resources ideas highly appreciated. Thanks in advance
0
Comment
Question by:gudii9
[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
  • 4
  • 4
8 Comments
 
LVL 12

Expert Comment

by:Sharon Seth
ID: 39955279
It means that checked exceptions add more lines to your code , because you  use try , catch and finally blocks . You don't have to do this with unchecked exceptions.
Not sure where you picked those lines from , but I think it is in no way suggesting replacement of checked exceptions with unchecked exceptions . If your context requires a checked exception , you HAVE TO go for it.
0
 
LVL 7

Author Comment

by:gudii9
ID: 39956362
what is relation between unchecked exceptions and closures. please advise
0
 
LVL 12

Expert Comment

by:Sharon Seth
ID: 39958590
Closures is a concept where you can pass some data and a block of code(closure) to a function (library), and the library will execute your closure on the data passed . When you do this , your block of code may throw some checked exceptions and the library has to somehow know how to handle/or pass on all these checked exceptions . This is called Exception Transparency
In general ,  checked exceptions are   not preferred by many as you have to write code to handle them even though they might not be thrown
0
Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

 
LVL 7

Author Comment

by:gudii9
ID: 40007620
It means that checked exceptions add more lines to your code , because you  use try , catch and finally blocks . You don't have to do this with unchecked exceptions.

checked exceptions are   not preferred by many as you have to write code to handle them even though they might not be thrown

Unchecked exceptions do not need lot of code?
Please advise
0
 
LVL 7

Author Comment

by:gudii9
ID: 40007796
Common scenarios of Exception Handling where exceptions may occur
There are given some scenarios where unchecked exceptions can occur. They are as follows:
1) Scenario where ArithmeticException occurs
If we divide any number by zero, there occurs an ArithmeticException.

    int a=50/0;//ArithmeticException  

2) Scenario where NullPointerException occurs
If we have null value in any variable, performing any operation by the variable occurs an NullPointerException.

    String s=null;  
    System.out.println(s.length());//NullPointerException  

3) Scenario where NumberFormatException occurs
The wrong formatting of any value, may occur NumberFormatException. Suppose I have a string variable that have characters, converting this variable into digit will occur NumberFormatException.

    String s="abc";  
    int i=Integer.parseInt(s);//NumberFormatException  

4) Scenario where ArrayIndexOutOfBoundsException occurs
If you are inserting any value in the wrong index, it would result ArrayIndexOutOfBoundsException as shown below:

    int a[]=new int[5];  
    a[10]=50; //ArrayIndexOutOfBoundsException


http://www.javatpoint.com/exception-handling-and-checked-and-unchecked-exception

Above unchecked exceptions also needs  more lines to code , because we  use try , catch and finally blocks?
please advise
0
 
LVL 12

Accepted Solution

by:
Sharon Seth earned 500 total points
ID: 40012060
As you said what you gave above are all unchecked exceptions and you SHOULD not handle them . These exceptions should , in almost all cases , be thrown and cause the application to stop whatever it was doing at that point , Or they should be handled gracefully . Encountering one of those exceptions means you have hit an unexpected situation , which needs to be analysed . On the other hand , if you just handle and ignore those exceptions , then you it means a possible bug in the system goes uncaught/ignored.
0
 
LVL 7

Author Comment

by:gudii9
ID: 40020541
how is handling exception and 'thrown so that application stops' are different. please advise
0
 
LVL 12

Expert Comment

by:Sharon Seth
ID: 40036872
Handling exception , most of the times is where you know that there is an exception , do whatever needs to be done in this situation , and go take the next course of action. The next course of action may be continuing with the execution of the rest of the program (that's what I meant when I said handle an exception) , or  very rarely halt and then throw , so that the execution stops.
What all I meant to say is , never handle/gobble up a runtime exception since a runtime exception clearly indicates an error
0

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
mysql jsp example issue 32 69
printf performancy 11 84
Html split(text) 2 27
Java array sort 10 30
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
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.
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

762 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