presentation on-exception-handling
TRANSCRIPT
![Page 1: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/1.jpg)
{
PRESENTATION ON Exception Handling Group Name : Bug Free.
Group Members:1.Sajibul Hasan 151-15-49862.Abdullah Al Noman 151-15-48533.Mehedi Hassan Khan 151-15-51544.Nahian Ahmed 151-15-5137
![Page 2: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/2.jpg)
What is an exception?
*An exception is an error condition that changes the normal flow of control in a program
*When an Exception occurs the normal flow of the program is disrupted and the program/Application terminates abnormally, which is not recommended, therefore these exceptions are to be handled
![Page 3: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/3.jpg)
Why Exception Occurs?
An exception can occur for many different reasons, below given are some scenarios where exception occurs.>>A user has entered invalid data.
>>A file that needs to be opened cannot be found.
>>A network connection has been lost in the middle of communications or the JVM has run out of memory.
![Page 4: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/4.jpg)
Exception Hierarchy
![Page 5: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/5.jpg)
Exception Has two Main classes :
1. Checked exceptions : known as compile time exceptions. Programmer should take care of (handle) these exceptions
2. Unchecked exceptions : Known as Runtime Exceptions. These include programming bugs, such as logic error also.
![Page 6: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/6.jpg)
Checked exceptions
![Page 7: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/7.jpg)
import java.io.File;import java.io.FileReader;
public class FilenotFound_Demo {
public static void main(String args[]){ File file=new File("E://file.txt"); FileReader fr = new FileReader(file); } } Output: C:\>javac FilenotFound_Demo.java
FilenotFound_Demo.java:8: error: unreported exception FileNotFoundException; must be caught or declared to be thrown FileReader fr = new FileReader(file);
Example
![Page 8: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/8.jpg)
Unchecked exceptions
![Page 9: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/9.jpg)
Examplepublic class Unchecked_Demo { public static void main(String args[]){ int num[]={1,2,3,4}; System.out.println(num[5]); }
} Output:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at Exceptions.Unchecked_Demo.main(Unchecked_Demo.java:8
![Page 10: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/10.jpg)
Exception Handling Terms
1.Try – used to enclose a segment of code that may produce a exception
2.Catch – placed directly after the try block to handle one or more exception types
3.Throw – to generate an exception or to describe an instance of an exception
4.Finally – optional statement used after a try-catch block to run a segment of code regardless if a exception is generated
![Page 11: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/11.jpg)
Try – Catch BlockTry – used to enclose a segment of code that may produce a exceptionCatch – placed directly after the try block to handle one or more exception types
try { statements;}catch(Exception ex) { perform operations before exits; throw ex;}
![Page 12: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/12.jpg)
Multiple catch statements
try {<code segment that may
throw an exception..>} catch (IOException e) {
System.out.println(e.getMessage());} catch (FileNotFoundException e){System.out.println(“FileNotFound!”);}
![Page 13: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/13.jpg)
Nested try-catch block
try { statement 1; try { statement 2;
statement 3; } catch(Exception e) { } } catch(Exception e) { }
![Page 14: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/14.jpg)
By using ThrowTHROW-generate an exception or to describe an instance of an exception
Define a class:public class EmptyStackException extends Exception { } Here is how you use the class:public class Stack {
public Object Pop() throws EmptyStackException {
if (Empty()) throw new EmptyStackException();...
}} Note that you must use new to create an exception object; you cannot just throw an exception.
![Page 15: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/15.jpg)
Examplestatic class Exception2{ static int sum(int num1, int num2){ if (num1 == 0) throw new ArithmeticException("First parameter is not valid"); else System.out.println("Both parameters are correct!!"); return num1+num2; } public static void main(String args[]){ int res=sum(1,12); System.out.println(res); System.out.println("Continue Next statements"); }}
![Page 16: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/16.jpg)
The finallytry { statements;}catch(TheExceptionex) { handling ex; }finally { finalStatements; }
![Page 17: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/17.jpg)
Examplepublic static void main(String[] arg){ try{ int i = 10/0; } catch(Exception ex){ System.out.println("Inside 1st catch Block"); } finally { System.out.println("Inside 1st finally block"); } try{ int i = 10/10; } catch(Exception ex){ System.out.println("Inside 2nd catch Block"); } finally { System.out.println("Inside 2nd finally block"); } }
Inside 1st catch BlockInside 1st finally blockInside 2nd finally block
![Page 18: Presentation on-exception-handling](https://reader036.vdocuments.net/reader036/viewer/2022070513/58895aa01a28abef658b57f3/html5/thumbnails/18.jpg)
Thanks All