• No results found

Object Oriented Programming

N/A
N/A
Protected

Academic year: 2021

Share "Object Oriented Programming"

Copied!
37
0
0

Loading.... (view fulltext now)

Full text

(1)

Wollo University, Kombolcha Institute of Technology.

College of Informatics.

Department of Information System.

ሐምሌ, 2013 ዓ.ም

Object Oriented Programming Chapter Five

(2)

7/17/2021 2

Contents

Object Oriented Programming chapter 5 will include this topics.

Intro

scope

Exception and Exception Handling

01

The causes of exceptions

02

The throw statement 05

The finally clause

07 The Throwable class

hierarchy

03

ሐምሌ,2013 ዓ.ም

04 Handling of an exception

06

User defined exceptions

(3)

ሐምሌ,2013 ዓ.ም

Basics questions In this chapter

1. What is exception?

2. What is exception handling?

3. What are the cause of exception?

4. How to handle exception?

(4)

7/17/2021

ሐምሌ,2013 ዓ.ም

 An Exception is an event which occurs during the execution of a program, that disrupts the normal program flow and may cause a program to fail.

 It is an object which is thrown at runtime.

Exception

(5)

ሐምሌ,2013 ዓ.ም

 Some examples of exception

 Performing illegal arithmetic (division by zero)

 Illegal arguments to methods

 Accessing an out-of-bounds array element

 Writing to a read-only file Cont.…

(6)

7/14/2021 By Daniel G. 6

Conti…

Example

public class ExceptionExample {

public static void main(String args[]) { String[] greek = {"Alpha", "Beta"};

System.out.println(greek[2]);

} }

The out put will be:

java.lang.ArrayIndexOutOfBoundsException

ሐምሌ,2013 ዓ.ም

(7)

Conti…

public static int average(int[] a) { int total = 0;

for(int i = 0; i < a.length; i++) { total += a[i];

}

return total / a.length;

}

ሐምሌ,2013 ዓ.ም

(8)

7/14/2021

ሐምሌ,2013 ዓ.ም

Conti…

 Exception Message Details Exception message format

[exception class]: [additional description of exception]

at [class].[method]([file]:[line number])

Example:

java.lang.ArrayIndexOutOfBoundsException: 2

at ExceptionExample.main(ExceptionExample.java:4)

(9)

Exception handling

 Exception Handling is a mechanism to handle runtime errors such as ClassNotFoundException, IOException, SQLException, RemoteException, etc.

 All of these problems have to be handled using exception handling.

 Use a try-catch block to handle exceptions that are thrown try {

// code that might throw exception }

catch ([Type of Exception] e) {

// what to do if exception is thrown

ሐምሌ,2013 ዓ.ም

(10)

7/14/2021 By Daniel G. 10

Cont.…

public static int average(int[] a) { int total = 0;

for(int i = 0; i < a.length; i++) { total += a[i];

}

return total / a.length;

}

ሐምሌ,2013 ዓ.ም

(11)

Cont.…

public static void printAverage(int[] a) { try {

int avg = average(a);

System.out.println("the average is: " + avg);

}

catch (ArithmeticException e) {

System.out.println("error calculating average");

}

ሐምሌ,2013 ዓ.ም

(12)

7/14/2021

ሐምሌ,2013 ዓ.ም

Handle multiple possible exceptions by multiple successive catch blocks

try {

// code that might throw multiple exception }

catch (IOException e) {

// handle IOException and all subclasses }

catch (ClassNotFoundException e2) { // handle ClassNotFoundException }

Multiple Exception Handling

(13)

The core advantage of exception handling is to maintain the normal flow of the application.

An exception normally disrupts the normal flow of the application that is why we use exception handling.

ሐምሌ,2013 ዓ.ም

Advantage of Exception Handling

(14)

7/15/2021 By Daniel G. 14

ሐምሌ,2013 ዓ.ም

The causes of exceptions

 An abnormal execution condition was synchronously detected by the Java virtual machine. Such conditions arise because:

 Evaluation of an expression violates the normal semantics of the language, such as an integer divide by zero

 An error occurs in loading or linking part of the program

 Some limitation on a resource is exceeded, such as using too much memory

(15)

ሐምሌ,2013 ዓ.ም

Java Exception Keywords

Keyword Description

Try The "try" keyword is used to specify a block where we should place an exception code. It means we can't use try block alone. The try block must be followed by either catch or finally.

Catch The "catch" block is used to handle the exception. It must be preceded by try block

(16)

7/17/2021 By Daniel G. 16

ሐምሌ,2013 ዓ.ም

Conti..

Keyword Description

Finally The "finally" block is used to execute the necessary code of the program. It is executed whether an exception is handled or not.

Throw The "throw" keyword is used to throw an exception.

Throws The "throws" keyword is used to declare exceptions. It specifies that there may occur an exception in the method. It doesn't throw an exception. It is always used with method signature.

(17)

ሐምሌ,2013 ዓ.ም

The Throwable class hierarchy

 The class at the top of the exception class hierarchy is the Throwable class,

which is a direct subclass of the Object class. Throwable has two direct subclasses - Exception and Error.

 The diagram below shows the standard exception and error classes

(18)

7/17/2021 By Daniel G. 18

ሐምሌ,2013 ዓ.ም

Conti…

(19)

ሐምሌ,2013 ዓ.ም

Types of Java Exceptions

 There are mainly two types of exceptions: checked and unchecked. Here, an error is considered as the unchecked exception.

 According to Oracle, there are three types of exceptions:

1. Checked Exception 2. Unchecked Exception 3. Error

(20)

7/17/2021 By Daniel G. 20

ሐምሌ,2013 ዓ.ም

Conti….

1. Checked Exception

The classes which directly inherit Throwable class except RuntimeException and Error are known as checked exceptions

Example:

 IOException

 SQLException etc.

Checked exceptions are checked at compile-time.

(21)

ሐምሌ,2013 ዓ.ም

Conti….

Example:

Private statc checkedExceptionWith Throws() throws FileNotFoundException {

File file = new File("not_existing_file.txt");

FileInputStream stream = new FileInputStream(file);

}

(22)

7/17/2021 By Daniel G. 22

ሐምሌ,2013 ዓ.ም

Conti….

2. Unchecked Exception

 The classes which inherit RuntimeException are known as unchecked exceptions

 Example: ArithmeticException,

NullPointerException,ArrayIndexOutOfBoundsException etc.

 Unchecked exceptions are not checked at compile-time, but they are checked at runtime.

(23)

ሐምሌ,2013 ዓ.ም

Conti….

Example:

private static void divideByZero() { int numerator = 1;

int denominator = 0;

int result = numerator / denominator;

}

(24)

7/17/2021 By Daniel G. 24

ሐምሌ,2013 ዓ.ም

Conti….

3. Error

Error is irrecoverable

Example

 OutOfMemory Error

 VirtualMachine Error

 Assertion Error etc.

(25)

ሐምሌ,2013 ዓ.ም

Conti….

Example:

import java.util.*;

public class Heap {

public static void main(String args[]) throws Exception{

Integer[] array = new Integer[10000 * 10000];

}

(26)

7/18/2021 By Daniel G. 26

ሐምሌ,2013 ዓ.ም

The Throw Statement

 Both throw and throws are concepts of exception handling in Java.

 The throws keyword is used to declare which exceptions can be thrown from a method, while the throw keyword is used to explicitly throw an exception within a method or block of code.

(27)

ሐምሌ,2013 ዓ.ም

Conti…..

 The throws keyword in Java is used to declare exceptions that can occur during the execution of a program.

 For any method that can throw exceptions, it is mandatory to use the throws keyword to list the exceptions that can be thrown.

(28)

7/18/2021 By Daniel G. 28

ሐምሌ,2013 ዓ.ም

Conti…..

 The throws keyword provides information about the exceptions to the programmer as well as to the caller of the method that throws the exceptions

(29)

ሐምሌ,2013 ዓ.ም

Conti…..

 The throw keyword in Java is used for explicitly throwing a single exception.

 This can be from within a method or any block of code. Both checked and unchecked exceptions can be thrown using the throw keyword.

(30)

7/18/2021 By Daniel G. 30

ሐምሌ,2013 ዓ.ም

Conti…..

Syntax:

return_type method_name() throws exception_class_name{

//method code }

(31)

ሐምሌ,2013 ዓ.ም

Conti…..

Example

class ThrowsExecp{

static void fun() throws IllegalAccessException{

System.out.println("Inside fun(). ");

throw new IllegalAccessException("demo");

}

public static void main(String args[]){

try{

fun();

}

catch(IllegalAccessException e){

(32)

7/18/2021 By Daniel G. 32

ሐምሌ,2013 ዓ.ም

The Finally Clause

 The finally block in java is used to put important codes such as clean up code e.g. closing the file or closing the connection.

 The finally block executes whether exception rise or not and whether exception handled or not.

 A finally contains all the crucial statements regardless of the exception occurs or not.

(33)

ሐምሌ,2013 ዓ.ም

Cont.…

(34)

7/18/2021 By Daniel G. 34

ሐምሌ,2013 ዓ.ም

Conti…..

Example

import java.io.*;

class Newclass {

public static void main(String[] args) {

try {

System.out.println("inside try block");

System.out.println(34 / 0);

}

catch (ArithmeticException e) {

System.out.println("catch : exception handled.");

}

finally {

System.out.println("finally : i execute always.");

} }

}

(35)

ሐምሌ,2013 ዓ.ም

User Defined Exceptions

 If you are creating your own Exception that is known as custom exception or user-defined exception.

 Java custom exceptions are used to customize the exception according to user need.

(36)

7/18/2021 By Daniel G. 36

ሐምሌ,2013 ዓ.ም

Cont.….

class MyException extends Exception{

}

// A Class that uses above MyException public class setText{

public static void main(String args[]){

try{

// Throw an object of user defined exception throw new MyException();

}

catch (MyException ex){

System.out.println("Caught");

System.out.println(ex.getMessage());

} }

}

(37)

THANK YOU

ሐምሌ, 2013 ዓ.ም

Any questions?

Feel free !

References

Related documents

The object keyword is used in field, method, property, and variable declarations and in cast and typeof operations as an alias for the .NET Framework structure System.Object. That

¾An abstract class can be used to declare pointers that can access objects derived from the abstract base class. Object Oriented Programming

where c c is the log of the di¤erence between private consumption of the US versus other G7 countries; is the di¤erence between in‡ation in the US and in‡ation in the other

Cannabis to describe term used to spell it uses the terms are described as policy in the success or system.. In

Excerpt from online catalog: Advanced coverage of three essential management practices required for long-term business success: problem identification and

The second requirement to be eligible for an exemption from the ban on conflicted remuneration relates to clawback arrangements. ISA does not support the proposed law for the reason

Class variables are variables declared with in a class, outside any method, with the static keyword.

Most often, issue deed of navy is used instead seeing a mortgage, acting as security against given loan include a trustor has transferred to a trustee.. Lender and its agents