Thursday 22 August 2013

Top Most How to use jdk7 multi-cache block with example

As release of JDK 7 approaching General Availability (GA) on 2011/07/28, I thought to have a look on language enhancement as part of project coin also called as Small language enhancements or JSR 334. Though there were not major changes but they are very useful in terms of simplifying your day to day programming task. In this java tutorial we will see how multi-cache block in JDK7 makes Exception handling code simpler and elegant. Multi-cache block will allow you to catch multiple exceptions in one block but it’s only available in JDK7 and you need to compiler your code with source 1.7. This article also shows you how to use JDK 7 multi-cache block with example.


JDK7 feature: Improved exception handling using multi-catch block

jdk7 multi-cache block example tutorialJava has always been criticized for having checked exception and polluting code with cluttered exception handling code, multi-cache block in JDK certainly assuage those wounds. With multi-cache block you can catch multiple exceptions in one block which will eventually result in less code and more readable code. Prior to JDK7 if you want to catch two exceptions you need to provide two catch blocks and if you have same code to run on these two blocks then either you need to use finally or just duplicate the code on two catch blocks. finally is  not an ideal solution because it will execute even if Exception is not thrown so ultimately lot of duplicate code which sometime makes code unreadable and clumsy. Now with JDK7 multi catch block we can catch multiple exception in one catch block separated by pipe (|) and reduce the code duplication. Let’s see an example of multiple exceptions catching in JDK7

public static void main(String args[]) {
    Scanner scnr = new Scanner(System.in);
    String number = scnr.next();
    try {
        if (number.length() > 5) {
            throw new IllegalArgumentException();
        }
        Integer.parseInt(number);

    } catch (NumberFormatException | IllegalArgumentException e) {
        e.printStackTrace();
    }
}
In above code example or JDK7 multi-cache block we have used multi cache block of JDK7 and control will come on this block whenever code throws either NumberFormatException   or IllegalArgumentException.


JDK7  multi-cache block example tutorial


Testing of JDK7 multi-cache block 

Input: 23ff
java.lang.NumberFormatException: For input string: "23ff"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.Integer.parseInt(Integer.java:492)
        at java.lang.Integer.parseInt(Integer.java:527)
        at jdk7demo.JDK7Demo.main(JDK7Demo.java:25)

Input :123333
java.lang.IllegalArgumentException
        at jdk7demo.JDK7Demo.main(JDK7Demo.java:23)
      
I used Netbeans 7 to compile and run this project. Setting up JDK 7 in Netbeans is very easy just download JDK7 and then click on Tool-->Java Platform and then click "Add Platforms" it will open a file browser just point out JDK7 installation directory and it will import JDK7 binaries , source and docs and set it up for your use. One more thing you need to remember is that setting source as 1.7 because this new language feature is only available in JDK7. In next series of this JDK7 feature article we will see how to use String in Switch statement.





Some of my favorite Java posts, you may find interesting:

LinkWithin

Related Posts Plugin for WordPress, Blogger...

Labels

Core Java programming core java interview question Core Java Faq's Servlets coding database jsp-servlet spring Java linux unix interview questions java investment bank Web Services Interview investment bank mysql Senior java developer interviews best practices java collection tutorial RMI SQL Eclipse FIX protocol tutorial tibco J2EE groovy java questions SCJP grails java 5 tutorial jdbc beginner error and exception Design Patterns Java Programming Tutorials fundamentals general object oriented programming xml Java Programs Hibernate Examples Flex JAMon Java xml tutorial logging Jsp Struts 2.0 Sybase and SQL Server debugging java interviews performance FIX Protocol interview questions JUnit testing WebSphere date and time tutorial experienced java IO tutorial java concurrency thread Ejb Freshers Papers IT Management Java Exapmle Java Script SQL and database tutorial examples Scwcd ant tutorials concurrency example and tutorial future state homework java changes java threading tricky Agile Business of IT Development JSTL Java JSON tutorial Java multithreading Tutorials PM Scrum data structure and algorithm java puzzles java tips testing tips windows 8 5 way to create Singleton Object Architect Interview Questions and Answers Architecture Architecure Bluetooth server as swing application that searches bluetooth device in 10 meter circle and show all devices. You can send file to any bluetooth device. C Programming CIO Callable Statement in Java Circular dependency of Objects in Java Comparable Example in Collection Custom annotation in Java Developer Interview Divide and rule example in java Drupal Example of Singleton Pattern FIX protocol ForkJoin Example in Java 7 Get data from dynamic table with Java Script Git HTML and JavaScript Health Hello World TCP Client Server Networking Program Hibernate Basics Hibernate Interview Question Answer J2EE Interview Question And Answers J2ME GUI Program JEE Interview QA JMS interview question Java J2EE Hibernate Spring Struts Interview Question Java System Property Java Threads Manager Portlets Provident Fund Read data from any file in same location and give the required result. Reading Properties File in Java Redpoint Rest WebService Client Rest Webservice Test SAL join with ven diagram SCP UNIX COMMAND SSL Singleton Pattern in Java Spring Bean Initialization methods and their order Spring Interview Questions Struts Struts 2.0 Basics Struts 2.0 Design Pattern Submit Html Form With Java Script On The Fly Unix executable For Java Program XOM DOM SAX XP books computers core java; core java; object oriented programming data structure; java investment bank; design pattern dtd duplicate rows in table get browser name with jquery grails podcast inner class java beginners tutorial java cache java networking tutorial java spring java util; java collections; java questions java.java1.5 linked list mailto function with all browser oracle database oracle duplicate rows orm schema social spring mvc questions struts transaction tricks tweet windows xslt