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
Get step-by-step solutions from verified subject matter experts
