Можно ли удалить & ldquo; throw IllegalArgumentException & rdquo; из заголовка здесь?

Попробуйте:

    switch(1) {
      case '1':
        alert('Switch comparison is NOT strict.');
        break;
      case 1:
        alert('Switch comparison is strict.');
        break;
      default: 
        alert('Huh?');
    }

-1
задан Mare 30 March 2019 в 22:30
поделиться

1 ответ

Вам не нужно явно объявлять RuntimeException в объявлении метода. Поскольку IllegalArgumentException является RuntimeException, вы можете удалить его.

Из официальной документации :

Исключения во время выполнения могут встречаться где угодно в программе, и в типичном случае их может быть очень много. Необходимость добавлять исключения времени выполнения в каждое объявление метода уменьшит ясность программы. Таким образом, компилятор не требует, чтобы вы перехватывали или указывали исключения времени выполнения (хотя вы можете).

Вы можете упомянуть это в разделе JavaDoc метода. Это дает потребителю подсказку о любых непроверенных исключениях. Также распространено добавлять эту информацию косвенно к параметрам.

/**
  * @throws IllegalArgumentException if the suite combination is illegal
  */

/**
  * @param myParam the param, must not be null
  */

Проверка параметров часто включает в себя выдачу IllegalArgumentException, если один параметр не соответствует требованиям. Так как они перечислены в JavaDoc (здесь не нуль ), это ошибка программиста, если он пропустит null.

0
ответ дан Glains 30 March 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: