Я пытаюсь написать Assertion, чтобы проверить, является ли размер, который пользователь дает, является положительным значением, если не тогда сделать его положительным, этот оператор находится внутри конструктора класса, который принимает значение размера, а затем создает массив [size], Я написал код ниже, который я считаю правильным.
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];
}
Хотя я никогда, кажется, не оцениваю мое утверждение и не продолжает программу, то вызывает ошибку NegativeArraySize (которую я пытаюсь избежать)
Я также пробовал просто
assert size>0;
И программа не останавливается на отрицательные значения.
У меня было несколько проблем с запуском java на mac в последнее время, поэтому я не знаю, прав ли мой код, или если это всего лишь один из этих нечетных mac quirks!! и должен просто использовать
size=Math.abs(size);
Спасибо Сэм,