RuntimeException in callback method
Mikael Ståldal <[email protected]> Thu, 5 Jan 2006 19:38:50 +0100 (W. Europe Standard Time)
| Newsgroups | gmane.text.xml.sax.devel |
|---|---|
| Message-ID | <Pine.WNT.4.64.0601051905210.3976@balder> |
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --2068003-15273-1136486330=:3976 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed What is a SAX parser supposed to do when a callback method (e.g. ContentHandler.startElement) throws a RuntimeException? Should the exception be propagated out from the XMLReader.parse method? Wrapped with a SAXException? (Test suite attached) --2068003-15273-1136486330=:3976 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=SAXTest.java Content-Transfer-Encoding: BASE64 Content-ID: <Pine.WNT.4.64.0601051938500.3976@balder> Content-Description: Content-Disposition: attachment; filename=SAXTest.java aW1wb3J0IGphdmEudXRpbC4qOw0KaW1wb3J0IGphdmEuaW8uKjsNCg0KaW1w b3J0IGphdmF4LnhtbC5wYXJzZXJzLio7IA0KaW1wb3J0IG9yZy54bWwuc2F4 Lio7DQoNCg0KLyoqDQogKiBUZXN0IFNBWCBQYXJzZXIuDQogKi8NCnB1Ymxp YyBjbGFzcyBTQVhUZXN0DQp7DQogICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwg U0FYUGFyc2VyRmFjdG9yeSBzYXhQYXJzZXJGYWN0b3J5IA0KICAgICAgICA9 IFNBWFBhcnNlckZhY3RvcnkubmV3SW5zdGFuY2UoKTsNCiAgICAgICAgDQog ICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgDQog ICAgICAgIHRocm93cyBFeGNlcHRpb24NCiAgICB7DQogICAgICAgIGlmIChh cmdzLmxlbmd0aCA9PSAwKQ0KICAgICAgICB7DQogICAgICAgICAgICBTeXN0 ZW0ub3V0LnByaW50bG4oIlBsZWFzZSBzcGVjaWZ5IGZpbGVuYW1lIG9yIFVS SSIpOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAg IA0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkFib3V0IHRvIHBhcnNl ICIrYXJnc1swXSk7DQogICAgDQogICAgICAgIFhNTFJlYWRlciB4bWxSZWFk ZXIgPSBzYXhQYXJzZXJGYWN0b3J5Lm5ld1NBWFBhcnNlcigpLmdldFhNTFJl YWRlcigpOw0KICAgICAgICB4bWxSZWFkZXIuc2V0RmVhdHVyZSgiaHR0cDov L3htbC5vcmcvc2F4L2ZlYXR1cmVzL25hbWVzcGFjZXMiLCB0cnVlKTsNCiAg ICAgICAgeG1sUmVhZGVyLnNldEZlYXR1cmUoImh0dHA6Ly94bWwub3JnL3Nh eC9mZWF0dXJlcy92YWxpZGF0aW9uIiwgZmFsc2UpOyAgICAgICAgICAgIA0K ICAgICAgICB4bWxSZWFkZXIuc2V0RXJyb3JIYW5kbGVyKG5ldyBNeUVycm9y SGFuZGxlcigpKTsNCiAgICAgICAgeG1sUmVhZGVyLnNldENvbnRlbnRIYW5k bGVyKG5ldyBNeUhhbmRsZXIoKSk7DQogICAgICAgIHhtbFJlYWRlci5wYXJz ZShhcmdzWzBdKTsNCiAgICAgICAgDQogICAgICAgIFN5c3RlbS5vdXQucHJp bnRsbigiRmluaXNoZWQgcGFyc2luZyBvZiAiK2FyZ3NbMF0pOw0KICAgIH0N Cg0KICAgIA0KICAgIHN0YXRpYyBjbGFzcyBNeUVycm9ySGFuZGxlciBpbXBs ZW1lbnRzIEVycm9ySGFuZGxlcg0KICAgIHsNCiAgICAgICAgDQogICAgICAg IHB1YmxpYyB2b2lkIHdhcm5pbmcoU0FYUGFyc2VFeGNlcHRpb24gZSkNCiAg ICAgICAgICAgIHRocm93cyBTQVhFeGNlcHRpb24NCiAgICAgICAgew0KICAg ICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJYTUwgcGFyc2Ugd2Fybmlu ZzogIitlLmdldE1lc3NhZ2UoKSk7DQogICAgICAgIH0NCiAgICAgICAgICAg ICANCiAgICAgICAgcHVibGljIHZvaWQgZXJyb3IoU0FYUGFyc2VFeGNlcHRp b24gZSkNCiAgICAgICAgICAgIHRocm93cyBTQVhFeGNlcHRpb24NCiAgICAg ICAgew0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJYTUwgcGFy c2UgZXJyb3I6ICIrZS5nZXRNZXNzYWdlKCkpOw0KICAgICAgICB9DQogICAg ICAgICAgIA0KICAgICAgICBwdWJsaWMgdm9pZCBmYXRhbEVycm9yKFNBWFBh cnNlRXhjZXB0aW9uIGUpDQogICAgICAgICAgICB0aHJvd3MgU0FYRXhjZXB0 aW9uDQogICAgICAgIHsNCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRs bigiWE1MIHBhcnNlIGZhdGFsIGVycm9yOiAiK2UuZ2V0TWVzc2FnZSgpKTsg ICAgDQogICAgICAgIH0NCiAgICB9DQogICAgICAgIA0KDQogICAgc3RhdGlj IGNsYXNzIE15SGFuZGxlciBpbXBsZW1lbnRzIENvbnRlbnRIYW5kbGVyDQog ICAgew0KICAgIA0KICAgICAgICBwdWJsaWMgdm9pZCBzZXREb2N1bWVudExv Y2F0b3IoTG9jYXRvciBsb2NhdG9yKQ0KICAgICAgICB7DQogICAgICAgICAg ICAvLyBpZ25vcmUNCiAgICAgICAgfQ0KICAgIA0KICAgICAgICBwdWJsaWMg dm9pZCBzdGFydERvY3VtZW50KCkNCiAgICAgICAgICAgIHRocm93cyBTQVhF eGNlcHRpb24NCiAgICAgICAgew0KICAgICAgICAgICAgU3lzdGVtLm91dC5w cmludGxuKCJzdGFydERvY3VtZW50KCkiKTsNCiAgICAgICAgfQ0KICAgIA0K ICAgICAgICBwdWJsaWMgdm9pZCBlbmREb2N1bWVudCgpDQogICAgICAgICAg ICB0aHJvd3MgU0FYRXhjZXB0aW9uDQogICAgICAgIHsNCiAgICAgICAgICAg IFN5c3RlbS5vdXQucHJpbnRsbigiZW5kRG9jdW1lbnQoKSIpOw0KICAgICAg ICB9DQogICAgDQogICAgICAgIHB1YmxpYyB2b2lkIHN0YXJ0RWxlbWVudChT dHJpbmcgbmFtZXNwYWNlVVJJLCBTdHJpbmcgbG9jYWxOYW1lLA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nIHFuYW1lLCBBdHRy aWJ1dGVzIGF0dHMpDQogICAgICAgICAgICB0aHJvd3MgU0FYRXhjZXB0aW9u DQogICAgICAgIHsNCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi c3RhcnRFbGVtZW50KCIrbG9jYWxOYW1lKyIpIik7DQogICAgICAgICAgICAN CiAgICAgICAgICAgIGlmIChsb2NhbE5hbWUuZXF1YWxzKCJmb28iKSkNCiAg ICAgICAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbigNCiAg ICAgICAgICAgICAgICAgICAgIlRlc3RpbmcgUnVudGltZUV4Y2VwdGlvbiBm cm9tIFNBWCBjYWxsYmFjayIpOw0KICAgICAgICB9DQoNCiAgICAgICAgDQog ICAgICAgIHB1YmxpYyB2b2lkIGVuZEVsZW1lbnQoU3RyaW5nIG5hbWVzcGFj ZVVSSSwgU3RyaW5nIGxvY2FsTmFtZSwNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdHJpbmcgcW5hbWUpDQogICAgICAgICAgICB0aHJvd3Mg U0FYRXhjZXB0aW9uDQogICAgICAgIHsNCiAgICAgICAgICAgIFN5c3RlbS5v dXQucHJpbnRsbigiZW5kRWxlbWVudCgiK2xvY2FsTmFtZSsiKSIpOyAgICAg ICAgICAgICAgICAgICAgICAgIA0KICAgICAgICB9DQogICAgICAgIA0KICAg IA0KICAgICAgICBwdWJsaWMgdm9pZCBzdGFydFByZWZpeE1hcHBpbmcoU3Ry aW5nIHByZWZpeCwgU3RyaW5nIHVyaSkNCiAgICAgICAgICAgIHRocm93cyBT QVhFeGNlcHRpb24NCiAgICAgICAgew0KICAgICAgICAgICAgLy8gbm90aGlu ZyB0byBkbw0KICAgICAgICB9DQogICAgDQogICAgICAgIHB1YmxpYyB2b2lk IGVuZFByZWZpeE1hcHBpbmcoU3RyaW5nIHByZWZpeCkNCiAgICAgICAgICAg IHRocm93cyBTQVhFeGNlcHRpb24NCiAgICAgICAgew0KICAgICAgICAgICAg Ly8gbm90aGluZyB0byBkbw0KICAgICAgICB9DQogICAgDQogICAgICAgIHB1 YmxpYyB2b2lkIGNoYXJhY3RlcnMoY2hhcltdIGNoYXJzLCBpbnQgc3RhcnQs IGludCBsZW5ndGgpDQogICAgICAgICAgICB0aHJvd3MgU0FYRXhjZXB0aW9u DQogICAgICAgIHsNCiAgICAgICAgICAgIC8vIG5vdGhpbmcgdG8gZG8NCiAg ICAgICAgfQ0KICAgIA0KICAgICAgICBwdWJsaWMgdm9pZCBpZ25vcmFibGVX aGl0ZXNwYWNlKGNoYXJbXSBjaGFycywgaW50IHN0YXJ0LCBpbnQgbGVuZ3Ro KQ0KICAgICAgICAgICAgdGhyb3dzIFNBWEV4Y2VwdGlvbg0KICAgICAgICB7 DQogICAgICAgICAgICAvLyBpZ25vcmUNCiAgICAgICAgfQ0KICAgIA0KICAg ICAgICBwdWJsaWMgdm9pZCBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oU3RyaW5n IHRhcmdldCwgU3RyaW5nIGRhdGEpDQogICAgICAgICAgICB0aHJvd3MgU0FY RXhjZXB0aW9uDQogICAgICAgIHsNCiAgICAgICAgICAgIC8vIG5vdGhpbmcg dG8gZG8NCiAgICAgICAgfQ0KICAgIA0KICAgICAgICBwdWJsaWMgdm9pZCBz a2lwcGVkRW50aXR5KFN0cmluZyBuYW1lKQ0KICAgICAgICAgICAgdGhyb3dz IFNBWEV4Y2VwdGlvbg0KICAgICAgICB7DQogICAgICAgICAgICAvLyBpZ25v cmUNCiAgICAgICAgfQ0KICAgICAgICAgICAgICAgIA0KICAgIH0NCiAgICAg ICAgDQp9DQoNCg== --2068003-15273-1136486330=:3976 Content-Type: TEXT/xml; charset=US-ASCII; name=test.xml Content-Transfer-Encoding: BASE64 Content-ID: <Pine.WNT.4.64.0601051938501.3976@balder> Content-Description: Content-Disposition: attachment; filename=test.xml PHJvb3Q+DQo8Zm9vIGJhcj0iZm9vYmFyIi8+DQo8L3Jvb3Q+DQo= --2068003-15273-1136486330=:3976-- ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ List: sax-devel, [email protected] See: http://www.saxproject.org/ https://lists.sourceforge.net/lists/listinfo/sax-devel