ParseException Java

Я пишу программу встречи, которая позволяет пользователю вводить даты встречи, описание и тип встречи. Все работает правильно, пока они не сделают выбор в "диапазон печати", который печатает диапазон дат, когда они решат сделать это, он говорит им ввести дату начала и дату окончания, программа затем тянет все встречи между этими датами и отображает их в поле вывода.

вот ошибки, которые я получаю с диапазоном печати :

AppointmentNew.java:68: unreported exception java.text.ParseException; must be caught or declared to be thrown
        Date lowDate = sdf.parse(stdin.nextLine());
                                ^
AppointmentNew.java:70: unreported exception java.text.ParseException; must be caught or declared to be thrown
        Date highDate = sdf.parse(stdin.nextLine());  
                                 ^
AppointmentNew.java:77: unreported exception java.text.ParseException; must be caught or declared to be thrown
           Date newCurrentDate = sdf.parse(currentDate); 

Я думаю, что я, вероятно, должен сделать блок try/catch, но не уверен, как это сделать, и задавался вопросом, Может ли кто-нибудь дать мне ответ или пример, чтобы исправить эти ошибки.

вот некоторые из моего кода, где я считаю, что происходит ошибка разбора:

import java.util.*;
import java.text.SimpleDateFormat;
import java.util.Date;

public class AppointmentNew 
{
public static void main (String[] args) throws Exception
{

if (choiceNum == 2)
     {
        System.out.print("nntEnter START Date in mm/dd/yyyy format: ");
        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
        Date lowDate = sdf.parse(stdin.nextLine());
        System.out.print("nntEnter END Date in mm/dd/yyyy format: ");
       Date highDate = sdf.parse(stdin.nextLine());  

        for(int i = 0; i < list.size(); i++)
        {
           int dateSpot = list.get(i).indexOf(" ");
           String currentDate = list.get(i);
           currentDate.substring(0, dateSpot);
           Date newCurrentDate = sdf.parse(currentDate); 

           if (newCurrentDate.compareTo(lowDate) >= 0 && newCurrentDate.compareTo(highDate) <= 0)
           {
              System.out.println("nt" + list.get(i));

           }
        }
     }

2 ответов


Parse Exception проверено исключение, поэтому вам необходимо обработать его. Либо бросками, либо попытайтесь поймать блок.

public static void main (String[] args)

должно быть

public static void main (String[] args) throws ParseException

или в блоке try catch

try {
    //All your parse Operations
} catch (ParseException e) {
   //Handle exception here, most of the time you will just log it.
   e.printStackTrace();
  }

почему вы получаете ошибку:

enter image description here

как это исправить:

окружите оскорбительный код