Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Lab Objectives Chapter 11 Lab Exceptions and I/O Streams Be able to write code that handles an exception Be able to write code that throws

Lab Objectives

Chapter 11 Lab Exceptions and I/O Streams

Be able to write code that handles an exception

Be able to write code that throws an exception

Be able to write a custom exception class

Introduction

This program will ask the user for a persons name and social security number. The program will then check to see if the social security number is valid. An exception will be thrown if an invalid SSN is entered.

You will be creating your own exception class in this program. You will also create a driver program that will use the exception class. Within the driver program, you will include a static method that throws the exception. Note: Since you are creating all the classes for this lab, there are no files on the Student CD associated with this lab.

Task #1 Writing a Custom Exception Class

1. Create an exception class called SocSecException. The UML diagram for this class is below.

The constructor will call the superclass constructor. It will set the message associated with the exception to Invalid social security number concatenated with the error string.

2. Create a driver program called SocSecProcessor. This program will have amain method and a static method called isValid that will check if the social security number is valid.

SocSecException

+ SocSecException(error : String) :

SocSecProcessor

+ main(args : String[ ]) : void + isValid(ssn : String) : boolean

Task #2 Writing Code to Handle an Exception

In the main method:

The main method should read a name and social security number from the

user as String objects.

The main method should contain a try-catch statement. This statement

tries to check if the social security number is valid by using the methodisValid. If the social security number is valid, it prints the name and social security number. If a SocSecException is thrown, it should catch it and print out the name, social security number entered, and an associated error message indicating why the social security number is invalid.

A loop should be used to allow the user to continue until the user indicates that they do not want to continue.

The static isValid method:

This method throws a SocSecException.

Returns true if the social security number is valid, false otherwise.

The method checks for the following errors and throws a

SocSecException with the appropriate message.

i) Number of characters not equal to 11. (Just check the length of the string)

ii) Dashes in the wrong spots.

iii) Any non-digits in the SSN.

iv) Hint: Use a loop to step through each character of the string, checking for

a digit or hyphen in the appropriate spots.

Compile, debug, and run your program. Sample output is shown below with user

input in bold.

OUTPUT (boldface is user input)

Name? Sam Sly SSN? 333-00-999 Invalid the social security number, wrong number of characters Continue? y Name? George Washington SSN? 123-45-6789 George Washington 123-45-6789 is valid Continue? y Name? Dudley Doright SSN? 222-00-999o Invalid the social security number, contains a character that is not a digit Continue? y Name? Jane Doe SSN? 333-333-333 Invalid the social security number, dashes at wrong positions Continue? n

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Intelligent Databases Technologies And Applications

Authors: Zongmin Ma

1st Edition

1599041219, 978-1599041216

More Books

Students also viewed these Databases questions

Question

How do Data Types perform data validation?

Answered: 1 week ago

Question

How does Referential Integrity work?

Answered: 1 week ago