Presentation is loading. Please wait.

Presentation is loading. Please wait.

Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 10.

Similar presentations


Presentation on theme: "Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 10."— Presentation transcript:

1 Spring 2008 Mark Fontenot mfonten@engr.smu.edu CSE 1341 Principles of Computer Science I Note Set 10

2 Note Set 10 Overview Exception Handling

3 exception Exception – an indication of a problem that occurs during a program’s execution Exception handling allows the graceful handling of errors in a program. Goal – allow the program to continue executing as if no problem had been encountered Can somewhat separate error handling code from regular processing code

4 The standard Do Something (processing) Check to see if it worked (error checking) Do something else Check to see if it worked Do Something Check to see if it worked

5 Attempt to divide; denominator may be zero Read input; exception occurs if input is not a valid integer

6 Stack Trace

7 Exception Handling Code try { //put code here that might // throw an exception //if exception is thrown, move to catch } catch (InputMismatchException e) { //Handle the exception case here – do what is //needed to gracefully recover from the //exception } catch (Exception e) { //Can handle multiple types of exceptions } Exception handlers Uncaught exception – exception for which there is no exception handler - exception type doesn’t match any of the catch blocks Try Block Exception Parameter

8 ExceptionTest public class ExceptionTest { public static void main (String [] args) { int x = 3; int y = 0; int z = x / y; System.out.println(z); } throws ArithmeticException run: Exception in thread "main" java.lang.ArithmeticException: / by zero at ExceptionTest.main(ExceptionTest.java:9) Java Result: 1

9 ExceptionTest2 public class ExceptionTest2 { public static void main (String [] args) { int x = 3; int y = 0; int z = 0; try { z = x / y; } catch (ArithmeticException e) { System.out.println("Exception Caught"); } System.out.println(z); } run-single: Exception Caught 0

10 With Scanner import java.util.*; public class ExceptionTest3 { public static void main (String [] args) { Scanner s = new Scanner(System.in); int x = 0; int y = 0; try { x = s.nextInt(); } catch (InputMismatchException e) { e.printStackTrace(); }

11 Use Java API JAVA API lists the exceptions thrown by each method

12 Termination Model of Exception Handling try { code line 1 code line 2 code line 3 } catch (Exception e) { handler 1 handler 2 } code line 4 code line 5 if line 2 throws exception, control transfers to exception handler then to line of code after handlers.

13 Objectville All exception classes directly or indirectly extend java.lang.Exception. It is possible to create your own exception classes by extending java.lang.Exception.

14 Objectville Unchecked Exceptions Subclass of RuntimeException Not required to be handled Checked Exceptions Subclass of Exception Must be handled or explicitly or declared w/ throws

15 throws public int myFunction () throws MySpecialException { //Code here that could throw a MySpecialException //but you don’t want to handle it here for some reason //so you have to declare that this method could also throw //MySpecialException – a checked exception }


Download ppt "Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 10."

Similar presentations


Ads by Google