Presentation is loading. Please wait.

Presentation is loading. Please wait.

Exception Handling Shirley Moore CS 1401 Spring 2013 cs1401spring2013.pbworks.com May 7, 2013 1.

Similar presentations


Presentation on theme: "Exception Handling Shirley Moore CS 1401 Spring 2013 cs1401spring2013.pbworks.com May 7, 2013 1."— Presentation transcript:

1 Exception Handling Shirley Moore CS 1401 Spring 2013 cs1401spring2013.pbworks.com May 7, 2013 1

2 Agenda Announcements Turn in Take-home Quiz 7 String class (for Prog Ex 11.2 and Lab 9) Assess Programming Exercises 11.1, 11.2 UML Class Diagrams (in detail) Exception handling Expectations for Final Exam 2

3 Announcements Women in Engineering (WIN) meeting – Thursday, May 9, 4-6pm – ACES, Classroom Building Lab 9 – Part I will be graded in lab today (must attend to get grade) – Part 2 on your own before Thursday – Part 3 will be graded in lab on Thursday Plan to post all grades (hw, labs, etc.) by beginning of next week Final Exam – Thursday, May 16, 10:00am-12:45pm – CCSB 1.0704 (this room) – Must get 60% on final exam to pass course Final Exam Review with Peer Leaders – Friday, May 10, 10am-?, CCSB 1.0704 Turn in research mini-projects by Friday, May 17, at the latest. 3

4 String class The Java String class provides many methods for creating and manipulating strings. A String object is immutable – i.e., it contents cannot be changed. Examples (Try and draw a picture to illustrate): – String s1 = new String(“Welcome to Java”); – String s2 = “Welcome to Java”); – String s3 = “Welcome to Java”); – if (s1 == s2) System.out.println(“s1 and s2 are the same object”); – if (s2 == s3) System.out.println(“s2 and s3 are the same object”); – if (s1.equals(s2) System.out.println(“s1 and s2 have the same contents”); See Chapter 9 and/or http://docs.oracle.com/javase/7/docs/api/java/lang/String.html for more String class methods. http://docs.oracle.com/javase/7/docs/api/java/lang/String.html 4

5 Programming Exercise 11.1 (The Triangle class) Design a class named Triangle that extends GeometricObject. The class contains: – Three private double data fields side1, side2, side3 with default values of 1. – A no-arg constructor that creates a default triangle. – A constructor that creates a triangle with specified side1, side2, and side3. – The accessor methods for all three data fields. – A method getArea() that returns the area of the triangle – A method getPerimeter() that returns the perimeter of the triangle – A method toString() that returns a string representation of the triangle. 5

6 Programming Exercise 11.2 (The Person, Student, Employee, Faculty, and Staff classes) Design a class named Person and its two subclasses named Student and Employee. Make Faculty and Staff subclasses of Employee. A person has a name, address, phone number, and email address. A student has a class status (freshman, sophomore, junior, senior). Define the status as a constant. An employee has an office, salary, and date hired. A faculty member has office hours and a rank. A staff member has a title. Override the toString method in each class to display the class name and the person’s name. 6

7 UML Class Diagrams See http://cs.nmu.edu/~mkowalcz/cs120f08/uml/UMLdiagram.html 7

8 Exception Handling Enables a program to deal with exceptional (i.e., error) situations and continue operation Can make programs more reliable Examples of exceptions – Integer division by zero – Input mismatch (e.g., real number entered when integer was requested) – Illegal argument value Enable methods to “throw” exceptions back to caller – Why not just have the method print an error message and exit? Caller uses a try-catch block to invoke the method and handle any exception 8

9 Exception Types Exceptions are objects that are defined using classes. Pre-defined exception types in java.lang.Throwable class – http://docs.oracle.com/javase/7/docs/api/java/lang/R untimeException.html http://docs.oracle.com/javase/7/docs/api/java/lang/R untimeException.html – e.g., ArithmeticException, NullPointerException, IndexOutOfBoundsException, IllegalArgumentException You can also define your own exception types. 9

10 Examples Download from course website: – QuotientWithException.java (trivial example for illustration purposes) – InputMismatchExceptionDemo.java – Circle3.java (also need GeometricObject.java) – Circle4.java – InvalidRadiusException.java – TestCircles.java 10

11 Class Activity Download from course website: – Projectile.java – TestProjectile.java Modify the program to handle the following exceptions – Invalid input Initial height must be non-negative Initial velocity must be positive Angle of inclination must be greater than 0 and less than 90 – Invalid time step interval (must be positive) 11

12 Final Exam Comprehensive Will target learning outcomes from each unit Review guide and practice problems will be posted by tomorrow. Review in class on Thursday Review session with Peer Leaders on Friday at 10:00 12


Download ppt "Exception Handling Shirley Moore CS 1401 Spring 2013 cs1401spring2013.pbworks.com May 7, 2013 1."

Similar presentations


Ads by Google