В Java исключения делятся на две категории: проверенные исключения и непроверенные исключения. В этой статье мы сосредоточимся на проверенных исключениях и рассмотрим, что они собой представляют, чем они отличаются от непроверенных исключений, а также предоставим несколько примеров кода, иллюстрирующих их использование. Независимо от того, являетесь ли вы новичком или опытным разработчиком Java, это руководство поможет вам понять проверенные исключения и способы их эффективной обработки в вашем коде.
Содержание:
-
Что такое проверенные исключения?
-
Разница между проверенными и непроверенными исключениями
-
Обработка проверенных исключений
-
Примеры кода методов с проверенными исключениями
4.1. Обработка файлов: FileReader
4.2. Сетевая связь: Розетка
4.3. Взаимодействие с базой данных: SQLException
4.4. Анализ XML: DocumentBuilder
4.5. Ввод/вывод: IOException -
Рекомендации по обработке проверенных исключений
-
Вывод
-
Что такое проверенные исключения?
Проверенные исключения — это исключения, которые должны быть объявлены в сигнатуре метода или обработаны внутри метода с помощью блока try-catch. Эти исключения проверяются компилятором Java во время компиляции, гарантируя, что они либо перехватываются, либо объявляются выброшенными. Примеры проверенных исключений в Java включают IOException, SQLException и ClassNotFoundException. -
Разница между проверяемыми и непроверяемыми исключениями.
Проверяемые исключения отличаются от непроверяемых исключений тем, что на проверенные исключения распространяется правило проверки во время компиляции, применяемое компилятором Java. Это означает, что компилятор обеспечит правильную обработку всех проверенных исключений, либо перехватывая их, либо объявляя в сигнатуре метода. С другой стороны, непроверенные исключения (например, RuntimeExceptions) не обязательно объявлять или перехватывать во время компиляции. -
Обработка проверенных исключений.
Чтобы обработать проверенное исключение, у вас есть два варианта: либо перехватить исключение с помощью блока try-catch, либо объявить исключение, которое будет выброшено в сигнатуре метода, используя «throws». ключевое слово. Перехват исключения позволяет корректно обработать его внутри метода, а объявление исключения, которое должно быть выброшено, позволяет вызывающему методу обработать его. -
Примеры кода методов с проверенными исключениями:
4.1. Обработка файлов: FileReader
import java.io.FileReader;
import java.io.IOException;
public class FileHandler {
public void readFile(String filePath) {
try {
FileReader reader = new FileReader(filePath);
// File processing code
} catch (IOException e) {
// Exception handling code
}
}
}
4.2. Сетевая связь: Розетка
import java.io.IOException;
import java.net.Socket;
public class NetworkHandler {
public void connectToServer(String hostname, int port) {
try {
Socket socket = new Socket(hostname, port);
// Network communication code
} catch (IOException e) {
// Exception handling code
}
}
}
4.3. Взаимодействие с базой данных: SQLException
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseHandler {
public void connectToDatabase(String url, String username, String password) {
try {
Connection connection = DriverManager.getConnection(url, username, password);
// Database interaction code
} catch (SQLException e) {
// Exception handling code
}
}
}
4.4. Анализ XML: DocumentBuilder
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
public class XMLParser {
public void parseXML(String xml) {
try {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
// XML parsing code
} catch (ParserConfigurationException e) {
// Exception handling code
}
}
}
4.5. Ввод/вывод: IOException
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class InputOutputHandler {
public void processFile(String filePath) throws IOException {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(filePath));
// File processing code
} finally {
if (reader != null) {
reader.close();
}
}
}
}
-
Рекомендации по обработке проверенных исключений:
- Перехватывайте только те исключения, которые можете эффективно обработать.
- При необходимости повторно создавать исключения, не теряя исходную информацию об исключении.
- Используйте блокиfinally для освобождения ресурсов, даже если возникает исключение.
- Рассмотрите возможность переноса проверенных исключений в непроверяемые, если их невозможно эффективно обработать.
-
В этой статье мы рассмотрели проверяемые исключения в Java и обсудили их отличия от непроверяемых исключений. Мы предоставили примеры кода, демонстрирующие методы, которые выдают проверенные исключения в различных сценариях, таких как обработка файлов, сетевое взаимодействие, взаимодействие с базой данных, синтаксический анализ XML и операции ввода-вывода. Следуя рекомендациям по обработке проверенных исключений, вы сможете написать более надежный и надежный код Java.