According to the documentation I should get an exception when I try to parse invalid XML with Ti.XML.parseString, but instead the "catch" handler is not called. So either this is a bug or the docs are wrong.
EDIT by Hans Knöchel: Updating ticket to focus on exceptions on the main thread. The underlaying issue is that we currently do not throw native exceptions (using @throw) when running on main-thread. While this does not crash the app, it still limits the functionality of developers, so it should be fixed.