Tôi đang làm việc trên dự án Java đầu tiên của mình triển khai một lớp có tên là "HeartRates", có ngày sinh của người dùng và trả về nhịp tim tối đa và mục tiêu của họ. Tất cả mọi thứ trong chương trình thử nghiệm chính hoạt động ngoại trừ một điều, tôi không thể tìm ra cách để ngăn chặn phần còn lại của mã từ in sau khi ngoại lệ bị bắt.Ngoại lệ bị bắt nhưng chương trình vẫn tiếp tục chạy
Tôi không thực sự chắc chắn về toàn bộ phần mã nơi ngoại lệ bị bắt vì nó được sao chép và dán từ những gì giáo sư đã cho chúng tôi. Nếu bất cứ ai có thể cho tôi biết làm thế nào để chấm dứt chương trình sau khi một lỗi xảy ra, hoặc in một thông báo lỗi tùy chỉnh và ngăn chặn chương trình thực hiện thêm tôi sẽ đánh giá cao nó.
Đây là mã:
import java.util.Scanner;
import java.util.GregorianCalendar;
import javax.swing.JOptionPane;
public class HeartRatesTest {
public static void main(String[] args) {
HeartRates test= new HeartRates();
Scanner input = new Scanner(System.in);
GregorianCalendar gc = new GregorianCalendar();
gc.setLenient(false);
JOptionPane.showMessageDialog(null, "Welcome to the Heart Rate Calculator");;
test.setFirstName(JOptionPane.showInputDialog("Please enter your first name: \n"));
test.setLastName(JOptionPane.showInputDialog("Please enter your last name: \n"));
JOptionPane.showMessageDialog(null, "Now enter your date of birth in Month/Day/Year order (hit enter after each): \n");
try{
String num1= JOptionPane.showInputDialog("Month: \n");
int m= Integer.parseInt(num1);
test.setMonth(m);
gc.set(GregorianCalendar.MONTH, test.getMonth());
num1= JOptionPane.showInputDialog("Day: \n");
m= Integer.parseInt(num1);
test.setDay(m);
gc.set(GregorianCalendar.DATE, test.getDay());
num1= JOptionPane.showInputDialog("Year: \n");
m= Integer.parseInt(num1);
test.setYear(m);
gc.set(GregorianCalendar.YEAR, test.getYear());
gc.getTime(); // exception thrown here
}
catch (Exception e) {
e.printStackTrace();
}
String message="Information for "+test.getFirstName()+" "+test.getLastName()+": \n\n"+"DOB: "+ test.getMonth()+"/" +test.getDay()+ "/"
+test.getYear()+ "\nAge: "+ test.getAge()+"\nMax Heart Rate: "+test.getMaxHR()+" BPM\nTarget Heart Rate(range): "+test.getTargetHRLow()
+" - "+test.getTargetHRHigh()+" BPM";
JOptionPane.showMessageDialog(null, message);
}
đặt 'showMessageDialog' bên' try {} 'khối –