Question: Java- Catching multiple exceptions and outputing multiple catch statements. For example. User enters date 22/33/1. I want it to catch all three exceptions and output

Java- Catching multiple exceptions and outputing multiple catch statements. For example. User enters date 22/33/1. I want it to catch all three exceptions and output

"Bad month"

"Bad day"

"Bad year"

The program i made is only outputting one of the catch statements.

import java.util.*;

import java.io.*;

import java.lang.Exception;

public class DateConverter {

public static void main(String[] args) {

Scanner kbd= new Scanner(System.in);

int x=1;

do {

try {

String input;

String m="";

int y, d;

System.out.println("Enter a date in the format mm/dd/yyyy.");

input=kbd.nextLine();

String[] brokenInput = input.split("/");

int monthNumber = Integer.parseInt(brokenInput[0]);

int dayNumber = Integer.parseInt(brokenInput[1]);

int yearNumber = Integer.parseInt(brokenInput[2]);

d= dayNumber;

y= yearNumber;

if(monthNumber<1 || monthnumber>12) {

throw new MonthException("Error. Bad Month! Must be between 1 and 12.");

}

else if(monthNumber==1)

{

m="January";

}

else if(monthNumber==2)

{

m="Febuary";

}

else if(monthNumber==3)

{

m="May";

}

else if(monthNumber==4)

{

m="April";

}

else if(monthNumber==5)

{

m="May";

}

else if(monthNumber==6)

{

m="June";

}

else if(monthNumber==7)

{

m="July";

}

else if(monthNumber==8)

{

m="August";

}

else if(monthNumber==9)

{

m="September";

}

else if(monthNumber==10)

{

m="October";

}

else if(monthNumber==11)

{

m="November";

}

else if(monthNumber==12) {

m="December";

}

if (d<=31 &&d>=1) {

d=d;

}

else {

throw new DayException("Error. Bad Day! Must be between 1 and 31");

}

if (y < 3000 && y > 1000) {

y = y;

}

else {

throw new YearException("Error. Bad Year. Must be between 1000 and 3000 ");

}

System.out.println(m+" "+d+", "+y);

x=2;

}

catch(MonthException e) {

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

}

catch(DayException e) {

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

}

catch(YearException e) {

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

}

}

while(x==1);

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!