public interface ErrorHandler
Этот модуль, и исходный код и документация, находится в Общедоступном Домене, и прибывает без ГАРАНТИИ. См. для дополнительной информации.
Если приложение SAX должно реализовать настроенную обработку ошибок, оно должно реализовать этот интерфейс и затем зарегистрировать экземпляр в средстве чтения XML, используя setErrorHandler метод. Синтаксический анализатор тогда сообщит обо всех ошибках и предупреждениях через этот интерфейс.
ПРЕДУПРЕЖДЕНИЕ: Если приложение не зарегистрирует ErrorHandler, то XML, анализирующий ошибки, пойдет несообщаемый, за исключением того, что SAXParseExceptions будет брошен для фатальных ошибок. Чтобы обнаружить ошибки законности, ErrorHandler, который делает что-то с error() вызовы должны быть зарегистрированы.
Для XML, обрабатывающего ошибки, драйвер SAX должен использовать этот интерфейс в предпочтении к выдаче исключения: это до приложения, чтобы решить, выдать ли исключение для различных типов ошибок и предупреждений. Отметьте, однако, что нет никакого требования, чтобы синтаксический анализатор продолжал сообщать о дополнительных ошибках после звонка fatalError. Другими словами драйвер SAX class может выдать исключение после создания отчетов о любом fatalError. Также синтаксические анализаторы могут выдать соответствующие исключения для ошибок не-XML. Например, XMLReader.parse() бросил бы IOException для ошибок, получающих доступ к объектам или документу.
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler), SAXParseException| Модификатор и Тип | Метод и Описание |
|---|---|
void |
error(SAXParseException exception)
Получите уведомление об исправимой ошибке.
|
void |
fatalError(SAXParseException exception)
Получите уведомление о неисправимой ошибке.
|
void |
warning(SAXParseException exception)
Получите уведомление о предупреждении.
|
void warning(SAXParseException exception) throws SAXException
Синтаксические анализаторы SAX будут использовать этот метод, чтобы сообщить об условиях, которые не являются ошибками или фатальными ошибками как определено рекомендацией XML. Поведение значения по умолчанию не состоит в том, чтобы предпринять меры.
Синтаксический анализатор SAX должен продолжать обеспечивать нормальные события парсинга после вызова этого метода: для приложения должно все еще быть возможно обработать документ через до конца.
Фильтры могут использовать этот метод, чтобы сообщить о другом, предупреждения не-XML также.
exception - Информация о предупреждении, инкапсулировавшая в SAX, анализирует исключение.SAXException - Любое исключение SAX, возможно обертывая другое исключение.SAXParseExceptionvoid error(SAXParseException exception) throws SAXException
Это соответствует определению "ошибки" в разделе 1.2 из XML 1.0 W3C Рекомендация. Например, синтаксический анализатор проверки допустимости использовал бы этот обратный вызов, чтобы сообщить о нарушении ограничения законности. Поведение значения по умолчанию не состоит в том, чтобы предпринять меры.
Синтаксический анализатор SAX должен продолжать обеспечивать нормальные события парсинга после вызова этого метода: для приложения должно все еще быть возможно обработать документ через до конца. Если приложение не может сделать так, то синтаксический анализатор должен сообщить о фатальной ошибке, даже если рекомендация XML не требует, чтобы это сделало так.
Фильтры могут использовать этот метод, чтобы сообщить о другом, ошибки не-XML также.
exception - Информация об ошибке, инкапсулировавшая в SAX, анализирует исключение.SAXException - Любое исключение SAX, возможно обертывая другое исключение.SAXParseExceptionvoid fatalError(SAXParseException exception) throws SAXException
Есть очевидное противоречие между документацией для этого метода и документацией для ContentHandler.endDocument(). Пока эта неоднозначность не разрешается в будущей главной версии, клиенты не должны сделать предположения о том, будет ли endDocument () или не вызываться, когда синтаксический анализатор сообщил о fatalError () или выдал исключение.
Это соответствует определению "фатальной ошибки" в разделе 1.2 из XML 1.0 W3C Рекомендация. Например, синтаксический анализатор использовал бы этот обратный вызов, чтобы сообщить о нарушении ограничения отмеченности.
Приложение должно предположить, что документ неприменим после того, как синтаксический анализатор вызвал этот метод, и должен продолжаться (если вообще) только ради сбора дополнительных сообщений об ошибках: фактически, синтаксические анализаторы SAX свободны прекратить сообщать о любых других событиях, как только этот метод был вызван.
exception - Информация об ошибке, инкапсулировавшая в SAX, анализирует исключение.SAXException - Любое исключение SAX, возможно обертывая другое исключение.SAXParseException
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92