Вам не нужно явно объявлять RuntimeException
в объявлении метода.Поскольку IllegalArgumentException
является RuntimeException
, вы можете удалить его.
Из официальной документации :
Исключения во время выполнения могут возникнуть в любом месте программы,и в типичном они могут быть очень многочисленными.Необходимость добавлять исключения времени выполнения в каждое объявление метода уменьшит ясность программы.Таким образом, компилятор не требует, чтобы вы перехватывали или указывали исключения во время выполнения (хотя вы можете это сделать).
Вы можете упомянуть это жестко в разделе JavaDoc метода.Это дает потребителю подсказку о любых непроверенных исключениях.Также распространено добавлять эту информацию косвенно к параметрам.
/**
* @throws IllegalArgumentException if the suite combination is illegal
*/
/**
* @param myParam the param, must not be null
*/
Проверка параметров часто включает в себя выдачу IllegalArgumentException
, если один параметр не соответствует требованиям.Так как они перечислены в JavaDoc (здесь не нуль ), это ошибка программиста, если он передает null
.