Java 如何在lblText.steText()中设置预定义消息

Java 如何在lblText.steText()中设置预定义消息,java,exception,javafx,Java,Exception,Javafx,我想从personAge方法中抛出异常的位置获取字符串msg,以便它显示为person定义的错误。 如何从throw new Invalid获取消息(“消息”) 贴标签 这是我控制器中的代码 @FXML void btnRegister(ActionEvent event) { String name = txtName.getText(); String email = txtEmail.getText(); String phonenr = txtPhonenr.g

我想从personAge方法中抛出异常的位置获取字符串msg,以便它显示为person定义的错误。 如何从throw new Invalid获取消息(“消息”)

贴标签

这是我控制器中的代码

 @FXML
void btnRegister(ActionEvent event) {
    String name = txtName.getText();
    String email = txtEmail.getText();
    String phonenr = txtPhonenr.getText();
    int year = Integer.parseInt(txtYear.getText());
    int month = Integer.parseInt(txtMonth.getText());
    int day = Integer.parseInt(txtDay.getText());

    boolean validateName = PersonValidator.checkName(name);
    boolean validateEmail = PersonValidator.checkEmail(email);
    boolean validatePhonenr = PersonValidator.checkPhonenr(phonenr);
    try{

        PersonAge.personAge(year);
    }catch (InvalidAgeException msg){
        lblResult.setText(msg);
    }

}
这就是抛出异常的地方:

public class PersonAge  {
public static int personAge(int year) throws InvalidAgeException {
    Date date = new Date();
    Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Europe/Norway"));
    cal.setTime(date);
    int thisYear = cal.get(Calendar.YEAR);
    int age = thisYear - year;

    if(age <=0 || age > 120){
        throw new InvalidAgeException("Age is invalid! Try again");
    }
    return age;
}
公众人物{
公共静态内部人士(内部年份)抛出无效异常{
日期=新日期();
Calendar cal=Calendar.getInstance(TimeZone.getTimeZone(“欧洲/挪威”));
校准设定时间(日期);
int thiswear=cal.get(日历年);
int age=今年-年;
如果(120岁){
抛出新的InvalidAgeException(“年龄无效!重试”);
}
回归年龄;
}

}

您只需要在异常上调用getMessage():
lblResult.setText(msg.getMessage())

请..
msg.getMessage()
如何定义
InvalidAgeException
它是从带有属性super(msg)的方法的exception扩展而来的。抱歉,代码太多了。我只是不确定应该包括哪些代码部分,因为我还是一个编码初学者