Spec-Zone.ru › OpenJDK 25

Интерфейс 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(ErrorHandler)
  • SAXParseException

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

Модификатор и тип Метод Описание
void error(SAXParseException exception)
Получает уведомление об устранимой ошибке.
void fatalError(SAXParseException exception)
Получает уведомление о неисправимой, фатальной ошибке.
void warning(SAXParseException exception)
Получает уведомление о предупреждении.

Подробное описание методов

warning

void warning(SAXParseException exception) throws SAXException
Получает уведомление о предупреждении.

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

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

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

Параметры:
exception — сведения о предупреждении, содержащиеся в исключении анализа SAX.
Выбрасывает:
SAXException — любое исключение SAX, возможно обёртывающее другое исключение.
См. также:
  • SAXParseException

error

void error(SAXParseException exception) throws SAXException
Получает уведомление об устранимой ошибке.

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

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

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

Параметры:
exception — сведения об ошибке, содержащиеся в исключении анализа SAX.
Выбрасывает:
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 — если приложение решит прервать анализ

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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