Интерфейс ErrorHandler
- Все известные реализующие классы:
-
DefaultHandler,DefaultHandler2,HandlerBase,XMLFilterImpl
public interface ErrorHandler
Если приложению SAX требуется реализовать пользовательскую обработку ошибок, оно должно реализовать этот интерфейс и затем зарегистрировать экземпляр с помощью метода setErrorHandler в XML-чтителе. Затем анализатор будет сообщать обо всех ошибках и предупреждениях через этот интерфейс.
ПРЕДУПРЕЖДЕНИЕ: Если приложение не регистрирует обработчик ошибок, ошибки разбора XML не будут сообщаться, за исключением того, что для критических ошибок будет брошено исключение SAXParseException. Для обнаружения ошибок валидации необходимо зарегистрировать обработчик ошибок, который что-то делает с вызовами error().
Для ошибок обработки XML драйвер SAX должен использовать этот интерфейс вместо выбрасывания исключения: приложение решает, выбрасывать ли исключение для различных типов ошибок и предупреждений. Обратите внимание, однако, что нет требования, чтобы анализатор продолжал сообщать об дополнительных ошибках после вызова fatalError. Другими словами, класс-драйвер SAX может выбросить исключение после сообщения о любой критической ошибке. Кроме того, анализаторы могут выбрасывать соответствующие исключения для ошибок, не связанных с XML. Например, XMLReader.parse() выбросит исключение IOException для ошибок доступа к сущностям или документу.
- С:
- 1.4, SAX 1.0
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
error |
Получение уведомления об ошибке, подлежащей восстановлению. |
void |
fatalError |
Получение уведомления о невосстанавливаемой, критической ошибке. |
void |
warning |
Получение уведомления о предупреждении. |
Подробное описание методов
warning
void warning(SAXParseException exception) throws SAXException
Анализаторы SAX будут использовать этот метод для сообщения об условиях, которые не являются ошибками или критическими ошибками, как определено рекомендацией XML. По умолчанию действия не предпринимаются.
Анализатор SAX должен продолжать предоставлять обычные события разбора после вызова этого метода: приложение все еще должно иметь возможность обработать документ до конца.
Фильтры могут использовать этот метод для сообщения об иных предупреждениях, не связанных с XML, также.
- Параметры:
-
exception- Информация о предупреждении, упакованная в исключение SAX parse. - Исключения:
-
SAXException- Любое исключение SAX, возможно, обертывающее другое исключение. - См. также:
error
void error(SAXParseException exception) throws SAXException
Это соответствует определению «ошибки» в разделе 1.2 рекомендации W3C XML 1.0. Например, валидирующий анализатор будет использовать этот обратный вызов для сообщения о нарушении ограничения валидности. По умолчанию действия не предпринимаются.
Анализатор SAX должен продолжать предоставлять обычные события разбора после вызова этого метода: приложение все еще должно иметь возможность обработать документ до конца. Если приложение не может этого сделать, анализатор должен сообщить о критической ошибке, даже если этого не требует рекомендация XML.
Фильтры могут использовать этот метод для сообщения об иных ошибках, не связанных с XML, также.
- Параметры:
-
exception- Информация об ошибке, упакованная в исключение SAX parse. - Исключения:
-
SAXException- Любое исключение SAX, возможно, обертывающее другое исключение. - См. также:
fatalError
void fatalError(SAXParseException exception) throws SAXException
Как определено в разделе 1.2 рекомендации W3C XML 1.0, критические ошибки — это такие, которые делают невозможным продолжение нормальной обработки анализатором. К ним относятся нарушения ограничения правильности формирования, неверный кодирование и запрещённые структурные ошибки, как описано в рекомендации W3C XML 1.0.
- Примечание API:
- Приложение должно предполагать, что анализатор больше не может выполнять нормальную обработку после сообщения о критической ошибке и может остановиться, выбросив
SAXExceptionбез вызоваContentHandler.endDocument(). Кроме того, от анализатора нельзя ожидать точной информации о логической структуре остальной части документа, даже если он может возобновить разбор. - Примечание реализации:
- После вызова этого метода анализатор может остановить обработку, выбросив
SAXException, или реализовать функцию, которая может направить его на продолжение после критической ошибки. В последнем случае он может сообщать события об остальной части документа без гарантии правильности. - Параметры:
-
exception- Информация об ошибке, упакованная вSAXParseException. - Исключения:
-
SAXException- если приложение выбирает прекратить разбор
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.xml/org/xml/sax/ErrorHandler.html