我需要检查我传递给构造函数的数据在构造对象期间是否有效(我的学生项目,我只需要建议,而不是解决方案)。在构造函数中检查它是一个好主意吗?我有检查案例并提出异常的方法。我标记了我的主要方法,它可能会引发异常。我不知道如何以其他方式检查它。你能给我一些建议吗?
public class Triangle {
private double height;
private double base;
private double sideB;
private double sideC;
public Triangle(double height, double base, double sideB, double sideC){
this.height = height;
this.base = base;
this.sideB = sideB;
this.sideC = sideC;
isValid();
}
private void isValid(){
try{
if(height <= 0){
throw new Exception("Wysokość musi być większa od 0!");
}
else if(base<=0 || sideB <=0 || sideC <= 0){
throw new Exception("Rozmiar boku musi być większy od 0!");
}
else if(base + sideB <= sideC){
throw new Exception("Trójkąt nie istnieje!");
}
else if(base + sideC <= sideB){
throw new Exception("Trójkąt nie istnieje!");
}
else if (sideB + sideC <= base){
throw new Exception("Trójkąt nie istnieje!");
}
}catch(Exception e){
e.printStackTrace();
}
}
我会为学生项目说这是安全的。但是,只要您知道错误是什么,并且您的程序可以相应地处理。如果您不理解它们,您不想抛出例外:)
但是,将其放入构造函数完全可以!