Отличие IllegalArgumentException от IllegalStateException заключается в том, что каждое из этих исключений возникает в разных ситуациях:
- IllegalArgumentException возникает, когда метод вызывается с недопустимым или неподходящим аргументом. 13 Например, если методу требуется положительное число в качестве аргумента, а предоставляется отрицательное число, что является недопустимым вводом. 1
- IllegalStateException возникает, когда объект находится в неподходящем состоянии для выполняемой операции. 1 Это может произойти, если метод вызывается для объекта, который не находится в ожидаемом состоянии. 1 Например, если создать объект подключения к базе данных, а затем закрыть его, то попытка создать объект Statement в закрытом соединении вызовет исключение IllegalStateException, потому что для метода createStatement() требуется открытое соединение. 1