Spec-Zone.ru › OpenJDK 17

Интерфейс ErrorHandler

Все известные реализующие классы:
DefaultHandler, DefaultHandler2, HandlerBase, XMLFilterImpl
public interface ErrorHandler
Базовый интерфейс для обработчиков ошибок SAX.

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

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

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

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

Краткое описание методов

Модификатор и тип Метод Описание
void error(SAXParseException exception)
Получение уведомления об исправленной ошибке.
void fatalError(SAXParseException exception)
Получение уведомления о неисправимой, фатальной ошибке.
void warning(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
Получение уведомления о неисправимой, фатальной ошибке.

Как определено в разделе 1.2 рекомендации W3C по XML 1.0, фатальные ошибки - это такие ошибки, которые делают невозможным продолжение нормальной обработки анализатором. К ним относятся нарушение ограничения корректности, некорректное кодирование и запрещенные структурные ошибки, как описано в рекомендации W3C по XML 1.0.

Примечание API:
Приложение должно предполагать, что анализатор больше не может выполнять нормальную обработку после сообщения о фатальной ошибке и может остановиться, сгенерировав SAXException без вызова ContentHandler.endDocument(). Кроме того, анализатор не может гарантировать точную информацию о логической структуре остальной части документа, даже если он может возобновить парсинг.
Примечание реализации:
После вызова этого метода анализатор может остановить обработку, сгенерировав SAXException, или реализовать функцию, которая может направить его на продолжение после фатальной ошибки. В последнем случае он может сообщать события об остальной части документа без каких-либо гарантий корректности.
Параметры:
exception - Информация об ошибке, инкапсулированная в SAXParseException.
Исключения:
SAXException - если приложение выбирает прекратить парсинг

© 1993, 2021, 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/17/docs/api/java.xml/org/xml/sax/ErrorHandler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API