Spec-Zone.ru › OpenJDK 21

Интерфейс 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, 2023, 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/21/docs/api/java.xml/org/xml/sax/ErrorHandler.html

Spec-Zone.ru

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