Exception Handling
Exception Handling
EXCEPTION HANDLING
Agenda:
Introduction
Runtime Stack mechanism
Default Exception Handling in java
Exception Hierarchy
Customized Exception-Handling by try-catch
Control Flow in try-catch
Methods to print Exception information
try with Multiple catch blocks
finally
Difference between final, finally and finalize
Control flow in try-catch-finally
Various possible combinations of try-catch-finally
throw keyword
throws keyword
Exception handling keywords summary
Various possible compile-time errors in exception handling
Customized Exceptions
Top 10 Exceptions
1) INTRODUCTION:
Eg: SleepingException
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 1--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
TyrePuncheredException
FileNotFoundException…….etc.
try
{
Read datafrom UK file
}catch(FileNotFoundException e)
{
Use local file and continue the rest of the program normally
}………
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 2--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
After completing all method calls JVM destroys the empty stack and
terminates the program normally.
Eg:
class Test {
doStuff();
doMoreStuff();
System.out.println(“hello”);
Process: For every java program internally one thread is created for java
(eg: i.e ‘main’) for that JVM created one Runtime stack.
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 3--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
After creating that exception object the method handovers that object to the
JVM.
JVM checks whether the method contains any exception handling code or
not. If the method won’t contain any handling code then JVM terminates the
method abnormally and removes corresponding entry from the stack.
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 4--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
JVM identifies the caller method and checks whether the caller method
contain any handler code or not. If the caller method also doesn’t contain
handle code then JVM terminates that caller method also abnormally and
removes corresponding entry from the stack.
This process will be continued until main() method and if the main() method
doesn’t contain any exception handling code then JVM terminates main()
method and removes corresponding entry from the stack.
Eg:
class Test {
doStuff();
doMoreStuff();
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 5--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
System.out.println(10/0);
Output:
at Test.doMoreStuff(Test.java:13)
at Test.doStuff(Test.java:9)
at Test.main(Test.java:5)
4) Exception Hierarchy:
Exception
Error
Exception:
Most of the cases Exceptions are caused by our program and these are
‘recoverable’
Error:
Most of the cases Errors aren’t caused by our program these are due to
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 6--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Checked Exception:
The Exceptions which are checked by the compiler for smooth
execution of the program at runtime are called ‘Checked Exception’.
Eg: HallTicketMissingException
PenNotWorkingException
FilenotFoundException………etc.
Un Checked Exception:
The Exceptions which are not checked by the compiler for smooth
execution of the program at runtime are called ‘Checked Exception’
Eg: BombBlastException
AirthmeticException
NullPointerException………etc.
Note: Runtime Exception and it’s child classes, Error and it’s child classes are
“Un Checked Exceptions” and all the remaining are considered as “Checked
Excepions”.
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 7--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 8--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page 9--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Syntax:
try
Risky code
catch (Ex e)
Handling code
Without try-catch:
class Test1 {
System.out.println("hi");
System.out.println(10/0);
System.out.println("Hello”);
Output:
hi
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
10--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
at Test1.main(Test1.java:6)
with try-catch:
class Test1
System.out.println("hi");
try{
System.out.println(10/0);
}catch(ArithmeticException e){
System.out.println(10/2);
System.out.println("Hello");
Output:
hi
5
Hello
try
{
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
11--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Stat 1;
Stat 2;
Stat 3:
}catch(x e)
{
Stat 4;
}
Stat 5;
Case 1:
If there is ‘no exception’
Statement 1,2,3,5 executed i.e normal termination
Case 2:
If an exception raised at Statement 2 and corresponding catch
block matched will be executed.
Statement 1,4 ,5 executed normal termination
try
{
Stat 1;
Stat 2;---------------->// At statement 2 exception raised in try block then
Stat 3; Controller goes to corresponding catch block
}catch(x e) and executed that statement then controller
{ doesn’t go back to execute stat 2 and stat 3.
Stat 4;
}
Stat 5;
Case 3:
Case 4:
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
12--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Within the try-block if any where an exception raised then rest of the
try-block won’t be executed even though we handled exception.
Hence we have to place risky code inside try-block and length of the
try-block should be as less as possible.
If any statement which raises an exception and it isn’t part of the any
try-block then it is always abnormal termination of the program.
i) printStackTrace():
ii) toString():
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
13--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
iii)getMessage():
Description
Eg1:
try{
………
}catch(Exception e)
{
Default Handler
}
Note: This approach isn’t recommended because for any type of exception
we are using the same catch block.
Eg:
try{
//statements.....
}catch (FileNotFoundException e) {
//use local file;
}catch (ArithmeticException e) {
// perform these airthmetic operations
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
14--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
}catch (SQLException e) {
// don't use oracle DB use my sql DB
}catch (Exception e) {
// for default handler
}
Note: If try with multiple catch blocks present then order of catch blocks
is very important it should be from child to parent. By mistake if we are
taking from parent to child then we will get compile time error saying.
Eg2:
try{
//statements
}catch (ArithmeticExceptione) {
// TODO: handle exception
}catch (Exception e) {
// TODO: handle exception
}
This is highly recommended.
9) finally:
It is never recommended to take ‘clean up’ code inside try block
because there is no guarantee for the execution of every statement
inside a try.
Eg:
try{
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
15--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
/*statements
* open Db connection
* Read data connection
* Db connection close----->clean-up code
*/
}catch (Exception e) {
// TODO: handle exception
}
Eg:
try{
//statements
}catch (Exception e) {
// clean-up code
}
try{
//Risky code
}catch (Exception e) {
// handling code
}finally{
//clean up code
}
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
16--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Eg1:
public class Test {
public static void main(String[] args) {
try{
System.out.println("try");
}catch (Exception e) {
System.out.println("catch");
}finally{
System.out.println("finally");
}
}
}
Output:
try
finally
Eg2:
Output:
try
catch
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
17--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
finally
Eg3:
Output:
try
finally
return VS finally:
Even though return statement present in try or catch blocks first finally will be
executed and after that only return statement will be considered. i.e. finally block
dominates the return statement.
Eg:
public class Test {
public static void main(String[] args) {
try{
System.out.println("try");
return;
//System.out.println("try1");
}catch (ArithmeticException e) {
System.out.println("catch");
}finally{
System.out.println("Finally");
}
}
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
18--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Output:
try
Finally
Note:
Generally when we write a return in any method then after returns, those are
not executed.
But in the case of finally, finally executed first and then return.
If return statement present inside try, catch, finally then finally block return
statement will be considered.
Eg:
Output:
try
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
19--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
final:
If a class declared as final then the child class creation is not possible.
If a method declared as final then overriding of that is not possible.
If a variable declared as final then re-assignment is not possible.
finally:
It is the block always associated with try /catch to maintain clean up code
which should be executed always irrespective of whether exception raised or not
raised and whether handled or not handled.
finalize():
It is a method which should be called by garbage collector. Just before destroying
an object to perform clean-up activities.
NOTE:
To maintain clean-up code finally block is recommended over finalize() method
because we cannot expect exact behavior of the Garbage Collector.
Eg:
try{
statement 1;
statement 2;
statement 3
}catch (Exception e) {
stsement 4;
}finally
{
statenent 5;
}
statement 6;
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
20--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
case 1:
Case 2:
Case 3:
Case 4:
Case 5:
Eg:
try{
statement 1;
statement 2;
statement 3;
try{
statement 4;
statement 5;
statement 6;
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
21--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
}catch (x e) {
statement 7;
}finally{
statenent 8;
}
statement 9;
}catch (Y e) {
statement 10;
}finally{
statement 11;
}
statement 12;
Case 1:
If there is no exception
1--------- 12 executed ,normal termination.
Case 2:
Case 3:
Case 4:
Case 5:
If an exception raised at statement 5 and inner catch has not matched but
outer catch block has matched
1,2,3,4,8,10,11,12, normal termination
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
22--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Case 6:
If an exception raised at statement 5 and both inner and outer catch blocks
are not matched
1,2,3,4,8,11,abnormal termination
Case 7:
If an exception raised at statement 7 and the corresponding inner catch is
matched
1,2,3,.,.,.8,10,11,12, normal termination
Case 8:
Case 10:
Case 11:
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
23--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Case 12:
Case 13:
If an exception raised at statement 10 is always abnormal termination but
before that finally block 11 will be executed
Case 14:
NOTE:
If we are not entering into the try block then the finally block won’t be
executed once we entered into the try block without executing finally block
we cannot come out.
Eg:
Output:
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
24--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
NOTE: Default exception handler only one exception at a time and which is
mostly recently raised exception.
1) 2) 3)
} }
4) 5) 6)
try{
try{ catch (Exception e) {
// TODO: handle }
exception
} System.out.println("hello");
}
catch (Exception e) {
7) 9)
8)
try{ try{
try{
try{ try{
finally{
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
26--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
} catch (Exception e) {
}
//finally without try
try{ try{
try{
try{
}catch (Exception e) }catch (Exception e)
}catch (Exception e) {
{ {
// TODO: handle
// TODO: handle // TODO: handle
exception exception exception
} }try{ try{
} }
//correct
}
}
}finally{
//correct
}
//correct
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
27--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
16) 17)
finally{ try{
} }catch (Exception e) {
}finally{
} }catch (Exception e) {
//CE: finally without try
// TODO: handle exception
}
//correct
public static void main(String[] args) { public static void main(String[] args) {
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
28--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
} }
} }
// in this case creation of AE object and //in this case we are creating an exception
handover to the jvm will be performed by object explicitly and handover to the jvm
automatically by the main() manually.
NOTE: In general we can use ‘throw’ keyword for customized exception but not
for predefined exception.
Case 1:
throw e;
if e refers null then we will get NullpointerException
1) 2)
throwae; }
} }
//RE: AE //RE:NPE
Case 2:
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
29--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
1) 2)
public static void main(String[] args) { public static void main(String[] args) {
System.out.println("hello"); zero");
} System.out.println("hello");
}//RE:AE:/ by zero }
Case 3:
We can use throw keyword only for throwable types. Otherwise we will
get compile time error saying incompatible types.
1) 2)
class Test{
Class Testextends RuntimeException{
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
30--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
class Test {
Output:
CE: unreported Exception: java.lang.InturupptedExcception
Must be called are declared to be thrown.
We can handle these compile time error by using the following ways
By using try/catch:
Eg:
class Test {
}
}
}
Eg:
class Test {
Eg:
class Test {
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
32--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
In the above program if we are removing at least one throws keyword then the
program won’t compile.
Case 1:
We can use throws keyword only for throwable types otherwise we will get compile time error
saying incompatible types.
1) 2)
} }
} }
//correct
Found : test
Equired java.lang.throwable
Case 2:
In our program
1) 2)
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
33--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
public static void main(String[] args) { public static void main(String[] args) {
} }
} }
Case 3:
In our program if there is no chance of raising an exception then we can’t write
catch block for that exception otherwise we will get compile error saying
CE: Exception: xxxException is never thrown in body of corresponding try
statement
But this rule is applicable for only fully checked exceptions.
1) 2) 3)
try{
try{ try{
System.out.println("hello");
System.out.println("hi"); System.out.println("hi");
}catch (IOException e) {
}catch (Exception e) { }catch
// TODO: handle exception
(ArithmeticException e) {
// TODO: handle
}
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
34--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Some more……
1) 2)
try{ try{
System.out.println("hello"); System.out.println("hello");
} }
//wrong //correct
//fully checked //un checked
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
35--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Eg:
class CustException
{
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
36--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Note:
JVM Exceptions:
Raised automatically by the JVM whenever a particular event occurs.
Eg:
ArrayIndexOutOfBoundsException(AIOOBE)
NullPointerException(NPE)
Programmatic Exceptions:
The exceptions which are raised explicitly by the programmer (or) by the
API developer are called programmatic Exception
Eg: IllegalArgumentException
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
37--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
ArrayIndexOutOfBoundsException:
NullPointerException:
It is the child class of RuntimeException and hence it is unchecked raised
automatically by the jvm when ever we are trying to call method null.
Eg: String s=null;
s.o.p(s.length());---------->NullPointerException
StackOverFlowError:
Eg:
class Test {
publicstaticvoidm1{
m2();
}
publicstaticvoid m2(){
m1();
}
publicstaticvoid main(String[] args) {
m1();
}
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
38--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Output:
RuntimeException: StackOverFlowError
NoClassDefFoundError:
It is the child class of Error and hence it is unchecked JVM will raised
automatically whenever it is unable to find required .class file
Eg:
C:/>Java Test
ClassCastException:
Output:RE:CCE
ExceptionInInitializerError:
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
39--------------------------------------------------------------------
Exception-Handling By SomaSekharReddy(Certified Professional)
Eg:
class Test{
Static int i=10/0;
}
Eg:
class Test{
static{
String s=null;
s.o.p(s.length());
}
}
Output:
RE:ExceptionInInitializerError:caused by NPE
IllegalArgumentException:It is the child class of RuntimeException and
hence it is unchecked raised explicitly by the programmer or by the API
developer to indicate that a method has been invoked with inappropriate
argument
Eg:
Thread t =new thread();
t.setpriority(10);------------->valid
t.setPriority(100);-------->RE: IAE
NumberFormatException:
Eg:
int i=Integer.parseInt(“10”);--------------->valid
int i=Integer.parseInt(“ten”);--------------->RE: NumberFormatExcception
IllegalStateException:
Eg: Once session expiries we can’t call any method on the session object
otherwise we will get IllegalStateException.
VIDVAAN Technologies, Beside Sindhu Travels, Near S.R.Nagar Bus Stop, S.R.Nagar, Hyderabad-500038,
Ph: 040-64443399, www.vidvaanit.com
--------------------------------------------------------Page
41--------------------------------------------------------------------