I am trying to write an Assertion to check if the size the user gives is a positive value, if not then make it positive, this statement is inside the class constructor which takes the size value and then makes an array[size]. I have written the below code which i believe to be correct.
public Grid(int size) {
try{
assert size > 0 ;
}
catch(AssertionError e){
size = Math.abs(size);
}
setLayout(new GridLayout(size, size));
grid = new JButton[size][size];
}
Though I never seems to evaluate my assertion and continues the program then causes the NegativeArraySize error( which i am trying to avoid)
I also tried just
assert size>0;
And the program fails to stop for negative values..
I have had a few problems with running java on mac recently, so i don't know if my code is right or if it is just one of those odd mac quirks!! and should just use
size=Math.abs(size);
Thanks Sam,
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…