throws используется в сигнатуре метода, чтобы указать, что метод потенциально может выбросить указанные типы исключений. Это часть контракта метода, информирующая вызывающий код о возможных проблемах, которые нужно обработать.
Например:
java
Вызывающий этот метод код должен либо обработать исключение с помощью try-catch, либо также объявить его в своей сигнатуре с помощью throws.
Это применяется к проверяемым исключениям (checked exceptions), таким как IOException или FileNotFoundException, которые компилятор требует явным образом обрабатывать. Непроверяемые исключения (unchecked exceptions), такие как RuntimeException, не требуют объявления с помощью throws, хотя это разрешено.