0% found this document useful (0 votes)
43 views

Exception Handling

The document discusses try-catch blocks in Java for handling exceptions. It explains that when an exception occurs in code within a try block, the rest of the try block is skipped and control is transferred to the matching catch block. Even if an exception occurs, the finally block is always executed after the catch block. If the catch block rethrows the exception, it is propagated to the caller.

Uploaded by

sumathi
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Exception Handling

The document discusses try-catch blocks in Java for handling exceptions. It explains that when an exception occurs in code within a try block, the rest of the try block is skipped and control is transferred to the matching catch block. Even if an exception occurs, the finally block is always executed after the catch block. If the catch block rethrows the exception, it is propagated to the caller.

Uploaded by

sumathi
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Java

• access interface name {


• return-type method-name1(parameter-list);
• return-type method-name2(parameter-list);
• type final-varname1 = value;
• type final-varname2 = value;
• //...
• return-type method-nameN(parameter-list);
• type final-varnameN = value;
• }
• class classname [extends superclass]
[implements interface [,interface...]]
• {
• // class-body
• }
Class Member Access
Runtime Errors
1 import java.util.Scanner;
2
3 public class ExceptionDemo {
4 public static void main(String[] args) {
5 Scanner scanner = new Scanner(System.in);
6 System.out.print("Enter an integer: ");
7 int number = scanner.nextInt();
8 If an exception occurs on this
9 line, the rest of the lines in the // Display the result
method are skipped and the System.out.println(
10
program is terminated.
11 "The number entered is " + number);
12 }
13 }
Terminated.

Run

5
Catch Runtime Errors
1 import java.util.*; Run
2
3 public class HandleExceptionDemo {
4 public static void main(String[] args) {
5 Scanner scanner = new Scanner(System.in);
6 boolean continueInput = true;
7
8 do {
9 try {
10 System.out.print("Enter an integer: ");
11 int number = scanner.nextInt();
12 If an exception occurs on this line,
13 the rest of lines in the try block are // Display the result
14 skipped and the control is System.out.println(
15 transferred to the catch block. "The number entered is " + number);
16
17 continueInput = false;
18 }
19 catch (InputMismatchException ex) {
20 System.out.println("Try again. (" +
21 "Incorrect input: an integer is required)");
22 scanner.nextLine(); // discard input
23 }
24 } while (continueInput);
25 }
13 }
6
animation

Trace a Program Execution


try { The exception is handled.
statement1;
statement2;
statement3;
}
catch(Exception1 ex) {
handling ex;
}
finally {
finalStatements;
}

Next statement;

10
animation

Trace a Program Execution


try { The final block is always
executed.
statement1;
statement2;
statement3;
}
catch(Exception1 ex) {
handling ex;
}
finally {
finalStatements;
}

Next statement;

11
animation

Trace a Program Execution


try { The next statement in the
method is now executed.
statement1;
statement2;
statement3;
}
catch(Exception1 ex) {
handling ex;
}
finally {
finalStatements;
}

Next statement;

12
animation

Trace a Program Execution


try {
statement1; statement2 throws an
statement2; exception of type Exception2.
statement3;
}
catch(Exception1 ex) {
handling ex;
}
catch(Exception2 ex) {
handling ex;
throw ex;
}
finally {
finalStatements;
}

Next statement;

13
animation

Trace a Program Execution


try {
statement1; Handling exception
statement2;
statement3;
}
catch(Exception1 ex) {
handling ex;
}
catch(Exception2 ex) {
handling ex;
throw ex;
}
finally {
finalStatements;
}

Next statement;

14
animation

Trace a Program Execution


try {
statement1; Execute the final block
statement2;
statement3;
}
catch(Exception1 ex) {
handling ex;
}
catch(Exception2 ex) {
handling ex;
throw ex;
}
finally {
finalStatements;
}

Next statement;

15
animation

Trace a Program Execution


try {
statement1; Rethrow the exception and
statement2; control is transferred to the
statement3; caller
}
catch(Exception1 ex) {
handling ex;
}
catch(Exception2 ex) {
handling ex;
throw ex;
}
finally {
finalStatements;
}

Next statement;

16

You might also like