UnsupportedOperationException
- это RuntimeException , которое является типом непроверенного исключения. Это исключения, которые возникают во время выполнения программы и указывают на состояние, которое вряд ли будет восстановлено.
Проверенные исключения, тип, который вы должны обрабатывать каким-либо образом, являются исключениями, которые вы, вероятно, можете написать для корректной обработки кода.
Спецификация языка Java, раздел 11.2.5 , очень хорошо гласит:
Классы исключений времени выполнения (RuntimeException и его подклассы)
освобождаются от проверки во время компиляции, потому что, по мнению
разработчики языка программирования Java, вынужденные объявлять такие
исключения не помогут значительно установить правильность
программ.
Есть несколько хороших объяснений идеи двух типов. Учебник по Java имеет страницу под названием Непроверенные исключения - спор , и если вы хотите более продолжительного обсуждения, см. Проверенные или непроверенные исключения?