Интерфейс ErrorHandler

Все известные реализующие классы:
DefaultHandler, DefaultHandler2, HandlerBase, XMLFilterImpl
public interface ErrorHandler

Базовый интерфейс для обработчиков ошибок SAX.

Этот модуль, как исходный код, так и документация, находится в общественном достоянии и не имеет ГАРАНТИЙ. См. http://www.saxproject.org для получения дополнительной информации.

Если приложению SAX требуется реализовать пользовательскую обработку ошибок, оно должно реализовать этот интерфейс и затем зарегистрировать экземпляр в XML-читателе, используя метод setErrorHandler. Затем анализатор сообщит обо всех ошибках и предупреждениях через этот интерфейс.

ПРЕДУПРЕЖДЕНИЕ: Если приложение не регистрирует ErrorHandler, ошибки при разборе XML останутся неотмеченными, за исключением случаев, когда SAXParseException будут брошены для фатальных ошибок. Для обнаружения ошибок валидации должен быть зарегистрирован ErrorHandler, который выполняет какие-либо действия с вызовами error().

Для ошибок обработки XML драйвер SAX должен использовать этот интерфейс вместо генерации исключения: приложение должно решить, бросать ли исключение для разных типов ошибок и предупреждений. Однако обратите внимание, что нет требования, чтобы анализатор продолжал сообщать об дополнительных ошибках после вызова fatalError. Другими словами, класс драйвера SAX может бросить исключение после сообщения о любой fatalError. Также анализаторы могут генерировать соответствующие исключения для ошибок, не связанных с XML. Например, XMLReader.parse() будет генерировать IOException для ошибок доступа к сущностям или документу.

С:
1.4, SAX 1.0
См. также:
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler), SAXParseException

Методы

Модификатор и типМетодОписание
voiderror​(SAXParseException exception)

Получение уведомления об ошибке, подлежащей восстановлению.

voidfatalError​(SAXParseException exception)

Получение уведомления о невосстанавливаемой ошибке.

voidwarning​(SAXParseException exception)

Получение уведомления о предупреждении.

Методы

warning

void warning(SAXParseException exception)
      throws SAXException

Получение уведомления о предупреждении.

Анализаторы SAX используют этот метод для отчётности о ситуациях, которые не являются ошибками или фатальными ошибками, как определено рекомендацией W3C по XML. По умолчанию поведение - бездействие.

Анализатор SAX должен продолжить предоставление стандартных событий разбора после вызова этого метода: приложение по-прежнему должно иметь возможность обработать документ до конца.

Фильтры могут использовать этот метод для отчётности и об других, не связанных с XML, предупреждениях.

Параметры:
exception - Информация о предупреждении, инкапсулированная в исключении SAX parse.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
SAXParseException

error

void error(SAXParseException exception)
    throws SAXException

Получение уведомления об ошибке, подлежащей восстановлению.

Это соответствует определению «ошибки» в разделе 1.2 рекомендации W3C по XML 1.0. Например, валидирующий анализатор использовал бы этот обратный вызов для отчётности о нарушении ограничения валидации. По умолчанию поведение - бездействие.

Анализатор SAX должен продолжить предоставление стандартных событий разбора после вызова этого метода: приложение по-прежнему должно иметь возможность обработать документ до конца. Если приложение не может этого сделать, анализатор должен сообщить о фатальной ошибке, даже если рекомендация XML этого не требует.

Фильтры могут использовать этот метод для отчётности и об других, не связанных с XML, ошибках.

Параметры:
exception - Информация об ошибке, инкапсулированная в исключении SAX parse.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
SAXParseException

fatalError

void fatalError(SAXParseException exception)
         throws SAXException

Получение уведомления о невосстанавливаемой ошибке.

Существует явное противоречие между документацией по этому методу и документацией по ContentHandler.endDocument(). До решения этой неоднозначности в будущей крупной версии клиенты не должны делать предположений о том, будет ли вызван endDocument() при отчётности анализатором о fatalError() или при генерации исключения.

Это соответствует определению «критической ошибки» в разделе 1.2 рекомендации W3C по XML 1.0. Например, анализатор использовал бы этот обратный вызов для отчётности о нарушении ограничения правильности.

Приложение должно предположить, что документ непригоден для использования после того, как анализатор вызвал этот метод, и должно продолжать (если вообще) только для сбора дополнительных сообщений об ошибках: на самом деле анализаторы SAX могут прекратить отчётность о других событиях после вызова этого метода.

Параметры:
exception - Информация об ошибке, инкапсулированная в исключении SAX parse.
Исключения:
SAXException - Любое исключение SAX, возможно, обертывающее другое исключение.
См. также:
SAXParseException

© 1993, 2020, 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://docs.oracle.com/en/java/javase/11/docs/api/java.xml/org/xml/sax/ErrorHandler.html

Spec-Zone .ru
спецификации, руководства, описания, API