Мне удалось решить эту проблему, но она все еще меня озадачивает, поэтому спрашиваю здесь.
У меня был некоторый код обработки XML / SAX внутри замыкания - отладка всегда была кошмаром, потому что замыкание завершалось сбоем молча.
Он обрабатывал некоторый лоакеймл - (немного устарел) DTD здесь: https://github.com/mcmenaminadrian/lackey_xml/blob/master/lackeyml.dtd
У меня есть оператор switch:
void startElement(String ns, String localName, String qName,
Attributes attrs) {
switch (qName) {
case 'instruction':
[some code]
break
case 'store':
case 'load':
case 'modify':
[some code]
break
default:
println "Unrecognised element of type $qname"
}
}
Но это каждый раз молчало. Но если я добавлю:
case 'lackeyml':
break
case 'application':
break
case 'thread':
break
Это работает. Что я не так понял?