Java vii inwards many ways improved exception handling. Two of the characteristic of Java vii which improves exception treatment are the mightiness to select receive got of the multiple exceptions inwards ane select receive got of block together with closing resources automatically using Automatic resources administration block. Java has long been criticized for its verbose exception treatment code, mandatory to handgrip checked Exception inwards Java. Programmers e'er complained that it clutter the code together with reduced readability. Java vii somehow reduces this hurting past times improving Exception treatment characteristic e.g. multiple select receive got of together with ARM blocks. In this Java vii tutorial, nosotros volition run across how to select receive got of multiple exceptions inwards ane select receive got of block using JDK7.
How to select receive got of multiple Exception inwards ane select receive got of block
Java database connectivity, Java IO together with formatting appointment inwards Java. Since most of JDBC code throws checked SQLException, IO related code throws IOException together with appointment formatting throws ParseException, which can't live on handled inwards ane select receive got of block prior to Java 7.
Though at that spot is an choice to select receive got of java.lang.Exception instead of java.io.IOException together with after checked exceptions but that approach is frail because it volition equally good select receive got of unintended exceptions.
Catching java.lang.Exception agency your code is opened upward for all form of exception, it's non considered equally adept practice. With multiple exception select receive got of block inwards Java 7, y'all tin give the axe combine treatment of these ii exceptions at ane house inwards the code.
Though at that spot is an choice to select receive got of java.lang.Exception instead of java.io.IOException together with after checked exceptions but that approach is frail because it volition equally good select receive got of unintended exceptions.
Catching java.lang.Exception agency your code is opened upward for all form of exception, it's non considered equally adept practice. With multiple exception select receive got of block inwards Java 7, y'all tin give the axe combine treatment of these ii exceptions at ane house inwards the code.
Code earlier Java 7
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* Java programme to select receive got of multiple exception earlier Java 7
*/
public class BeforeJava7{
public static void main(String args[]) {
try {
File file = new File("test.txt");
FileInputStream fis = new FileInputStream(file);
BufferedReader bReader = new BufferedReader(new InputStreamReader(fis));
String str = bReader.readLine();
SimpleDateFormat format = new SimpleDateFormat("DD/MM/YY");
Date appointment = format.parse(str);
} catch (ParseException exception) {
//code to handgrip ParseException
} catch (IOException exception) {
//code to handgrip IOException
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* Java programme to select receive got of multiple exception earlier Java 7
*/
public class BeforeJava7{
public static void main(String args[]) {
try {
File file = new File("test.txt");
FileInputStream fis = new FileInputStream(file);
BufferedReader bReader = new BufferedReader(new InputStreamReader(fis));
String str = bReader.readLine();
SimpleDateFormat format = new SimpleDateFormat("DD/MM/YY");
Date appointment = format.parse(str);
} catch (ParseException exception) {
//code to handgrip ParseException
} catch (IOException exception) {
//code to handgrip IOException
}
}
}
After Java 7, both of select receive got of block tin give the axe live on replaced alongside a elementary multiple exception select receive got of block, equally shown below:
try{
//code
}catch(ParseException | IOException ex) {
// handgrip ParseException together with IOException here.
}
//code
}catch(ParseException | IOException ex) {
// handgrip ParseException together with IOException here.
}
Here are to a greater extent than or less to a greater extent than of import features from Java vii release, y'all tin give the axe read virtually them here:
The of import betoken to greenback is that variable ex is final variable hither together with tin give the axe non live on reassigned. Another house where y'all tin give the axe role this improved Exception treatment characteristic is to combine ii select receive got of blocks which are essentially doing the same chore or merely a re-create paste. By using Java vii multiple select receive got of block, y'all tin give the axe cut back a lot of boilerplate code inwards Java.
Further Learning
Data Structures together with Algorithms: Deep Dive Using Java
How to role String inwards switch illustration from Java 7
No comments:
Post a Comment