Как использовать SAXParseException эффективно в Java

Вы можете получить относительных форматов даты, чтобы получить первый и последний дни текущего месяца

$firstDay = new DateTime('first day of this month');
$lastDay  = new DateTime('last day of this month');

$result = array(
    'date_paid' => $firstDay->format('Y-m-d') . '...' . $lastDay->format('Y-m-d') 
);

14
задан Welbog 21 July 2009 в 11:40
поделиться

2 ответа

Мне не совсем понятно, о чем вы спрашиваете здесь, может быть, вы могли бы предоставить немного больше информации о том, что Вы подразумеваете под исключениями слишком низкий уровень? Неужели сами сообщения об ошибках непонятны?

Класс SaxParseException имеет методы getColumnNumber () и getLineNumber (), которые вы можете представить пользователю, чтобы заставить их исправить ошибки.

Одна вещь, которую вы могли бы Эксперимент с использованием различных реализаций синтаксического анализа XML - каждый синтаксический анализатор выдаст ошибку, когда обнаружит недействительный код, но разные реализации могут иметь разные сообщения об ошибках и цепочки исключений.

На самом деле, по этой причине я сомневаюсь в попытке создайте библиотеку, которая проверяет цепочку исключений и пытается создать из нее более связное сообщение об ошибке, так как вы '

1
ответ дан 1 December 2019 в 16:53
поделиться

Brabster Я тоже столкнулся с аналогичной проблемой, когда мне нужно было сказать, для какого элемента в xml возникла ошибка. Я немного решил проблему, сохранив стек в моем обработчике SAX Parser. В методе startElement я помещаю qName (имя элемента) в стек, а в методе endElement я извлекаю qName из стека.

Каждый раз, когда возникает исключение, мой стек представляет полный XPath элемента.

Единственная проблема заключалась в том, что если есть несколько элементов с одинаковым именем, вы не знаете, для какого элемента ошибка. Но, по крайней мере, все детали XPath помогли вместе с LineNumber и ColumnNumber.

Надеюсь, это поможет.

1
ответ дан 1 December 2019 в 16:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: