The exception handling in java is one of the powerful mechanism to handle the runtime errors so that normal flow of the application can be maintained.
In this page, we will learn about java exception, its type and the difference between checked and unchecked exceptions.
|
A. Simple Exception in Java
Try..Catch
try {
// Protected Mode..
} catch (error) {
// Error Catching Mode..
}
Exception_Ex1.java
public class Exception_Ex1 {
public static void main(String args[]) {
int[] array = {1, 2};
try {
System.out.println("The 10th value of Array is : " + array[10]);
}
catch (Exception e) {
System.out.println("The Error : " + e);
}
}
}
Sample Output
The Error : java.lang.ArrayIndexOutOfBoundsException: 10
B. Multi Catch in Java
Try..Catch..Catch..Catch..
try {
// Protected Mode..
} catch (error-1) {
// Error Catching Mode - 1 ..
} catch (error-2) {
// Error Catching Mode - 2 ..
} catch (error-3) {
// Error Catching Mode - 3 ..
}
Exception_Ex2.java
public class Exception_Ex2 {
public static void main (String args[]) {
int array[] = {20,10,30};
int num1 = 15, num2 = 0;
int sum = 0;
try
{
sum = num1 / num2;
System.out.println("The result is : " + sum);
for(int i =0; i <10 i="" span="">10>
{
System.out.println("The value of array are" +array[i]);
}
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println("Error 1 : " + e);
}
catch (ArithmeticException e)
{
System.out.println ("Error 2 : " + e);
}
}
}
Sample Output
Error 2 : java.lang.ArithmeticException: / by zero
Change it into try block as below :
try
{
for(int i =0; i <10 i="" span="">10>
{
System.out.println("The value of array are" +array[i]);
}
sum = num1 / num2;
System.out.println("The result is : " + sum);
}
Sample Output
The value of array are20
The value of array are10
The value of array are30
Error 1 : java.lang.ArrayIndexOutOfBoundsException: 3
C. Create your Own Exception in Java
OwnException.java
public class OwnException extends Exception {
public OwnException(int msg) {
super(String.valueOf(msg));
}
public OwnException(float msg) {
super(String.valueOf(msg));
}
public OwnException(char msg) {
super(String.valueOf(msg));
}
public OwnException(String msg) {
super(msg);
}
}
class MainClass {
public static void intFn() throws OwnException {
System.out.println("Throwing OwnException from intFn()");
throw new OwnException(10);
}
public static void floatFn() throws OwnException {
System.out.println("Throwing OwnException from floatFn()");
throw new OwnException((float) 111.111);
}
public static void charFn() throws OwnException {
System.out.println("Throwing OwnException from charFn()");
throw new OwnException('A');
}
public static void StringFn() throws OwnException {
System.out.println("Throwing OwnException from StringFn()");
throw new OwnException("Java World..");
}
public static void main(String[] args) {
try {
intFn();
}
catch (OwnException e) {
e.printStackTrace();
}
try {
floatFn();
}
catch (OwnException e) {
e.printStackTrace();
}
try {
charFn();
}
catch (OwnException e) {
e.printStackTrace();
}
try {
StringFn();
}
catch (OwnException e) {
e.printStackTrace();
}
}
}
Sample Output
Throwing OwnException from intFn()
Throwing OwnException from floatFn()
Throwing OwnException from charFn()
Throwing OwnException from StringFn()
OwnException: 10
at MainClass.intFn(OwnException.java:30)
at MainClass.main(OwnException.java:54)
OwnException: 111.111
at MainClass.floatFn(OwnException.java:36)
at MainClass.main(OwnException.java:61)
OwnException: A
at MainClass.charFn(OwnException.java:42)
at MainClass.main(OwnException.java:68)
OwnException: Java World..
at MainClass.StringFn(OwnException.java:48)
at MainClass.main(OwnException.java:75)
D. Finally Block in Java
FinallyMethod.java
public class FinallyMethod {
public static void main(String args[]) {
try {
System.out.println("The Value :");
for(int i=1; i<=3; i++) {
System.out.println(i);
}
}
catch(Exception e) {
e.printStackTrace();
}
finally {
System.out.println("The finally block always executes..");
}
}
}
Sample Output
The Value :
1
2
3
The finally block always executes..
|
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.