Java 如何在lblText.steText()中设置预定义消息
我想从personAge方法中抛出异常的位置获取字符串msg,以便它显示为person定义的错误。 如何从throw new Invalid获取消息(“消息”) 贴标签 这是我控制器中的代码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
@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扩展而来的。抱歉,代码太多了。我只是不确定应该包括哪些代码部分,因为我还是一个编码初学者