Проверяет понимание механизма объявления исключений в сигнатуре метода с помощью ключевого слова throws в Java.
Ключевое слово throws в Java используется в объявлении метода, чтобы указать, что метод может выбросить определённые типы исключений. Это часть механизма обработки исключений, который помогает разработчикам явно обозначать возможные ошибки и обеспечивать их обработку на уровне компиляции.
Когда метод объявляет throws, он говорит компилятору: "Я не буду обрабатывать эти исключения внутри себя, пусть вызывающий код решает, что с ними делать". Компилятор проверяет, что вызывающий код либо обрабатывает исключение (через try-catch), либо тоже объявляет его в своей сигнатуре. Если ни того, ни другого нет, возникает ошибка компиляции.
import java.io.*;
public class FileReader {
// Метод объявляет, что может выбросить IOException
public void readFile(String path) throws IOException {
FileInputStream file = new FileInputStream(path);
int data = file.read();
while (data != -1) {
System.out.print((char) data);
data = file.read();
}
file.close();
}
public static void main(String[] args) {
FileReader reader = new FileReader();
try {
reader.readFile("test.txt");
} catch (IOException e) {
System.out.println("Ошибка чтения файла: " + e.getMessage());
}
}
}throws используется в основном для проверяемых исключений (checked exceptions), таких как IOException, SQLException и другие. Это помогает создавать надёжный код, где ошибки не остаются незамеченными. Однако для непроверяемых исключений (runtime exceptions) его использование необязательно.
Ключевое слово throws — это инструмент для явного объявления возможных исключений в сигнатуре метода. Оно улучшает читаемость кода и заставляет разработчиков обрабатывать ошибки, что особенно полезно в больших проектах с множеством взаимодействующих компонентов.